jaxb에서 생성 된 파일을 사용하여 Java 계층 구조를 아래에서 위로 개발하는 동안 발견하는 방법

짐 C

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

짐 C

아마도 내가 만든 가장 거짓된 질문 중 하나 일 것입니다. 그러나 저는 이전에 어디에서도 답을 찾지 못했습니다. "Type Hierarchy"또는 "Call Hierarchy"뷰 대신 "References"로 검색하는 것만으로도 충분합니다 (generated_source 폴더를 선택하는 것을 잊지 마십시오). 나는 이것이 Eclipse를 사용하고 언젠가 비누 서비스에 클라이언트를 만드는 데 도움이되기를 바랍니다.

여기에 이미지 설명 입력

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관