Java (Metro)에서 .NET 웹 서비스 소비 -xmlnode/xmldocument 소비?
-
05-07-2019 - |
문제
나는 내 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 문서 응답을 제공합니다. 이것이 제가 찾고 있던 것입니다. 그런 다음 나무에서 원하는 작업을 수행하여 원하는 데이터를 추출 할 수 있습니다.
제휴하지 않습니다 StackOverflow