Как регистрировать SOAP-сообщения, отправляемые стеком Metro
Я пытаюсь записать свои сообщения, которые отправляются с использованием стека Metro, в консоль. Не смог найти никакой возможности.
3 ответа
Регистрация сообщений на стандартный вывод (действует только для METRO!):
На клиенте
Java 5: установить системное свойство
-Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true
Java 6: установить системное свойство
-Dcom.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump=true
На стороне сервера
Установить системное свойство
-Dcom.sun.xml.ws.transport.http.HttpAdapter.dump=true
Здесь все объясняется:
https://metro.java.net/2.0/guide/Logging.html
Следующие параметры включают ведение журнала всех сообщений с консоли (технически вам нужен только один из них, но это зависит от библиотек, которые вы используете, поэтому установка всех четырех параметров безопаснее).
-Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true
-Dcom.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump=true
-Dcom.sun.xml.ws.transport.http.HttpAdapter.dump=true
-Dcom.sun.xml.internal.ws.transport.http.HttpAdapter.dump=true
Не упомянул язык, но предполагая Java, не могли бы вы просто использовать что-то вроде Log4J, например
service = new Service();
port = service.getXxxPort();
result = port.doXxx(data);
Log.info("Result is " + result.getResult().toString());
где getResult - это просто метод возвращаемого объекта.