Не удается войти в XML-сообщения клиента JaxWs - PullRequest
0 голосов
/ 26 апреля 2018

Я сгенерировал SOAP-клиент из WSDL, используя wsimport (версия "2.2.9"), и я использую его в приложении Java 8.

Я бы хотел отследить XML-сообщения, отправленные / полученные клиентом, но я не могу найти работающее решение ...

Я пытался использовать этот подход таким образом:

public class TestClass {
    public static void main(String[] args) {
        System.setProperty("com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump", "true");
        System.setProperty("com.sun.xml.ws.transport.http.HttpAdapter.dump", "true");
        System.setProperty("com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump", "true");
        System.setProperty("com.sun.xml.internal.ws.transport.http.HttpAdapter.dump", "true");


        WSService wsService = new WSService();
        WSSoap soapService = wsService.getWSSoap();
        ServiceResponse response = soapService.callServiceMethod();
    }
}

Запрос выполнен правильно, но я не могу найти никаких трассировок XML на стандартном выводе. Что не так с этим кодом?

1 Ответ

0 голосов
/ 03 мая 2018

Для отладки запроса мыла и ответов в пристани на затмении вы можете сделать следующее.

  1. Выберите ваш проект в проводнике и щелкните его правой кнопкой мыши.
  2. В разделе «Запуск от имени» выберите «Конфигурации запуска»
  3. Ваше приложение уже должно отображаться как Jetty Webapp, а название проекта будет указано под Jetty Webapp. На вкладке аргументов добавьте следующее в раздел аргументов JVM
    -Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true
    -Dcom.sun.xml.ws.transport.http.HttpAdapter.dump=true
    -Dcom.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump=true
    -Dcom.sun.xml.internal.ws.transport.http.HttpAdapter.dump=true
  4. Нажмите кнопку «Выполнить», и все взаимодействия, которые теперь выполняются вашим приложением с веб-службой, будут регистрироваться

Это было протестировано с динамическим веб-проектом, в котором был сервлет, который вызывал веб-сервис при загрузке сервлета.

Снимок экрана настроек: enter image description here

...