문제

나는 내 Java에서 약간 녹슬었고, 이것은 Metro/Jax-Ws를 처음 사용하는 것이 처음입니다. 그래서 이것이 바보 같은 질문이라면 나는 사과드립니다.

.NET 웹 서비스를 소비하는 클라이언트를 작성해야합니다. 나는 기본 사항이 다운되었습니다. WSDL에서 래퍼를 생성했으며 객체와 포트를 만들고 전화를 걸어 응답을 얻을 수 있습니다.

    Widgets d = new Widgets();
    WidgetsSoap dp = d.getWidgetsSoap();
    ((BindingProvider)dp).getRequestContext(). put(javax.xml.ws.BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://actualsite/foo.asmx");

    UserGetWidgetsResponse.UserGetWidgetsResult j = dp.userGetWidgets();

WebService의 리턴 값은 거의 모든 xmldocument 또는 xmlnode입니다. wsimport-a-usergetWidgetSresult "에서 통화가 반환 한 실제 XML로 어떻게 얻습니까?

여러 가지 방법으로 이러한 서비스를 많이 가지고 있으므로 생성 된 포장지를 어떤 식 으로든 수정할 필요가없는 솔루션을 찾고 싶습니다. 또한 웹 서비스가 반환 한 정보를 통제 할 수 없습니다.

도움이 되었습니까?

해결책

주말에 이것에 대한 해결책을 찾았지만 그것이 올바른 해결책인지 확실하지 않습니다.

    UserGetDevicesResponse.UserGetDevicesResult j = dp.userGetDevices();
    List<Object> n = j.getContent();
    if (n.size() > 0)
    {
        Node z = (Node)n.get(0);
        System.out.println(nodeToString(z));
    }

이것은 나에게 XML 문서 응답을 제공합니다. 이것이 제가 찾고 있던 것입니다. 그런 다음 나무에서 원하는 작업을 수행하여 원하는 데이터를 추출 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top