Я использую диспетчерский клиент для доступа к веб-сервису. Все мои параметры верны, ошибок нет, и, изучая ответ с помощью Wireshark, я определенно вижу, что правильный ответ получен на сетевом уровне. Но на уровне приложения Java мой источник ответа пуст.
public void testDispatch(QName serviceName, QName portName, String endpointAddress, String action) throws Exception {
Service service = Service.create(serviceName);
service.addPort(portName, SOAPBinding.SOAP11HTTP_BINDING, endpointAddress);
String requestXml = buildRequestXml();
Dispatch<Source> dispatch = service.createDispatch(portName, Source.class, Service.Mode.MESSAGE);
dispatch.getRequestContext().put(BindingProvider.SOAPACTION_URI_PROPERTY, action);
Source request = new StreamSource(new StringReader(requestXml));
Source response = dispatch.invoke(request);
Transformer copier = TransformerFactory.newInstance().newTransformer();
copier.transform(response, new StreamResult(System.out));
}
Я пытался преобразовать в DOMResult, то же самое, пустой корневой узел.
Есть идеи?