컨텍스트 : cxf soap webservice를 사용할 클라이언트를 개발 중입니다. 이 순간에, 나는 wsdl과 xsd 만 가지고있어서 자바 타입을 생성하기에 충분하다.jaxb에 의해 생성 된 파일이있는 자바 계층 구조를 아래에서 위로 탐색하는 방법
요구 사항 : ContactType을 가져야하고 webservice가 작동 중일 때 ContactType을 받아야합니다 (ContactType은 여러 다른 유형 중 하나의 샘플 임).
나는 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;
...
문제 발견. 내가 MyWebServiceResponse.getMyAType 같은 코드하기 위해 그것을 소비하는 클래스 알아낼 수 없습니다() getMyBType .. 그래서 ContactType까지. xsd 트리가 작거나 이전에 모델 디자인 (내 현실이 아닌)을 알고 있다면 쉽습니다.
음, webservices (여기 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 도구 유형 계층 구조에 방해 및 통화 계층 이클립스 클래스가 ContactType에 따라 나를 보여줄 수 있다고 생각 (이 내 작품을 쉽게 만들 것입니다) .
내 질문 : 확실히 그것은 일종의 일반적인 문제이며 JAXB/CXF 경험이 많은 개발자는 눈으로보고있는 것으로 생각하지 않습니다. botom 클래스에서 트리 종속성까지 발견하는 더 똑똑한 방법이 있습니까?
추 신 : xml 샘플 답변을 얻을 수 없으므로 메모장에서 인쇄하고 컨트롤 할 수 있습니다. 서버가 아직 가동되지 않았지만 이미 wsdl + xsds가 있습니다.