컨텍스트 : cxf soap 웹 서비스를 사용할 클라이언트를 개발 중입니다. 현재로서는 자바 유형을 생성하기에 충분한 wsdl과 xsd 만 있습니다.
요구 사항 : ContactType을 가져와야하며 웹 서비스가 실행 중일 때 수신 할 것이라고 확신합니다 (ContactType은 여러 샘플 중 하나 일뿐입니다).
Eclipse에서 ContactType.java로 검색하고 찾았습니다.
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ContactType", propOrder = {
"telefoonnummer",
"faxnummer",
"gsm",
"email",
"website"
})
public class ContactType {
@XmlElement(name = "Telefoonnummer")
protected TekstKort20Type telefoonnummer;
...
@XmlElement(name = "Email")
protected Tekst20Type email;
@XmlElement(name = "Website")
protected Tekst20Type website;
...
문제 : ContactType까지 MyWebServiceResponse.getMyAType (). getMyBType ..과 같이 코딩하기 위해 어떤 클래스가 그것을 소비하는지 알아낼 수 없습니다. xsd 트리가 작거나 이전에 모델 디자인을 알고있는 경우 (내 현실이 아님) 쉬울 것입니다.
글쎄, 나는 내가 웹 서비스에서 받게 될 유형을 알고 있으며 (여기에서 getMyAType이라고하자) 각 객체를 찾아보고 탐색 할 수 있지만 로컬 pojo를 읽고 채워야 할 때까지 눈으로 수행하는 엄청난 작업이됩니다.
의심 : ContactType을 소비 / 구성하는 코드를 어디서도 찾지 못하는 이유는 무엇입니까? 수동으로 연락처로 검색 한 결과 다음을 찾았습니다.
@XmlRegistry
public class ObjectFactory {
...
public OndernemingMyCostumerAppType createOndernemingMyCostumerAppType() {
return new OndernemingMyCostumerAppType();
}
...
<xs:complexType name="OndernemingMyCostumerAppType">
<xs:sequence>
...
<xs:element name="Contact" type="ContactType" minOccurs="0"/>
...
</xs:sequence>
</xs:complexType>
나는 팩토리가 Eclipse 도구 Type Hierarchy 및 Call Hierarchy를 방해한다고 믿기 때문에 Eclipse는 ContactType에 의존하는 클래스를 보여줄 수 있습니다 (이것은 내 작업을 쉽게 만들 것입니다).
내 질문 : 확실히 이것은 일종의 일반적인 문제이며 JAXB / CXF 경험이 풍부한 개발자가 눈으로보고 있다고 생각하지 않습니다. botom 클래스에서 트리 종속성까지 더 현명한 방법이 있습니까?
추신 : xml 샘플 답변을 얻을 수 없으므로 메모장에서 쉽게 인쇄하고 제어 + F를 할 수 있습니다. 서버는 아직 가동되지 않았지만 이미 wsdl + xsds가 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다