Я создал клиент веб-сервиса SOAP и мне нужно перехватывать входящие и исходящие XML сообщения. В Stackoverflow я уже нашел следующую ссылку ( Tracing XML запрос / ответы с помощью JAX-WS ), которая приводит меня к этому коду:
WebService webService = new WebService();
Endpoint ep = Endpoint.create(webService);
List<Handler> handlerChain = ep.getBinding().getHandlerChain();
handlerChain.add(new SOAPLoggingHandler());
ep.getBinding().setHandlerChain(handlerChain);
Но, к сожалению, этот код не работает , по крайней мере,
public boolean handleMessage(SOAPMessageContext context)
из SOAPLoggingHandler никогда не вызывается.
Вызывается только public Set<QName> getHeaders()
, который возвращает null.
Я не уверен, есть ли что-то для этого но мой код работает на стороне клиента.
В одном из примеров ссылки выше есть строка для публикации sh "publishURL".
ep.publish(publishURL);
Мне это нужно? А что такое publishURL? В этом случае классы клиентов веб-сервиса были созданы с использованием wsdlimport и файла wsdl.
спасибо за любую помощь!