Могу ли я получить конверт SOAP с запросом открытого текста на клиенте java axis2 для https? - PullRequest
1 голос
/ 14 февраля 2012

У меня есть SOAP-сервис федерального правительства (то есть, исключительно по соображениям безопасности), к которому я должен подключиться для проекта.У меня проблема в том, что я получаю страшную

  SEVERE: SOAP header missing
  org.apache.axis2.AxisFault: SOAP header missing
  at  org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:180)

трассировку Throwable стека

Я генерирую заглушку клиента с помощью wsdl2code и просто вызываю

 GetResponseTypeDef resp = stub.getRequest(requestypdef, headerTypeDef);

headerTypeDef, по-видимому, правильно заполнен информацией заголовка, которую запрашивает служба.

Я хочу получить отправленный необработанный текстовый XML-запрос SOAP, но конечная точка использует https, и у меня нулевая видимость в службе,Так что wireshark на самом деле не вариант.

Я использую следующее в linux: axis2 1.5.4 rampart 1.5.1 wss4j 1.5.10

Я почти уверен, что отправляюиз заголовка SOAP, но мне нужно это доказать.Эта служба использует практически каждый подпроект WS- *, включая безопасность, политику, шифрование и цифровую подпись, поэтому существует только около 100 мест, которые могут вызвать сбой этой вещи.

Любая помощь будет принята.

Ответы [ 2 ]

1 голос
/ 14 февраля 2012

Настройте прокси-сервис, например Charles , и перенаправьте его на конечную точку HTTPS.Таким образом, вы можете перехватить вызов до его шифрования и распечатать полезную нагрузку XML.В дополнение к этому, вы можете поработать над вашей нормой принятия.

0 голосов
/ 14 февраля 2012

Можно ли добавить регистратор org.apache.axis.transport, чтобы увидеть, какой XML-файл отправляется по сети?Например, она определена в моей конфигурации log4j:

<category name="org.apache.axis.transport">
    <priority value="DEBUG"/>
    <appender-ref ref="CONSOLE"/>
</category>
...