2017-11-17 2 views
0

컨텍스트 : 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가 있습니다.

답변

0

아마 내가 가졌던 가장 가짜 질문 중 하나 일지 모르지만 전 어디서나 대답을 찾지 못했을 것입니다. "Type Hierarchy"또는 "Call Hierarchy"보기 대신 "References"로 검색하면 충분합니다 (generated_source 폴더를 가져 오는 것을 잊지 마십시오). 이 서비스가 Eclipse를 사용하고 언젠가 비누 서비스를받을 클라이언트를 만드는 데 도움이되기를 바랍니다.

enter image description here

관련 문제