У меня проблема с запросом webservice, который использует WS-Security. Я использую код, созданный с помощью оси2 с модулем rampard
, который реализует WS-Security. Я думаю, что я делаю хороший запрос, и у меня есть ответ, но этот ответ имеет то, что мой клиент не понимает. Исключение выглядят как:Проблема Axis2: WSHandler: Проверить подтверждение подписи: сохраненный SV-вектор не пуст
INFO [main] (?:?) - Verification successful for URI "#element-113-1282904809584-289878786"
INFO [main] (?:?) - Verification successful for URI "#timestamp"
ERROR [main] (AxisEngine.java:209) - WSHandler: Check Signature confirmation: stored SV vector not empty
org.apache.axis2.AxisFault: WSHandler: Check Signature confirmation: stored SV vector not empty
at org.apache.rampart.handler.WSDoAllReceiver.processMessage(WSDoAllReceiver.java:92)
at org.apache.rampart.handler.WSDoAllHandler.invoke(WSDoAllHandler.java:72)
at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:251)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
...
Моя rampard
конфигурация axis2.xml
:
<parameter name="InflowSecurity">
<action>
<items>Signature Encrypt</items>
<passwordCallbackClass>pl.firstdata.www.wdx.business.card.PWCallback</passwordCallbackClass>
<signaturePropFile>client.properties</signaturePropFile>
<signatureKeyIdentifier>SKIKeyIdentifier</signatureKeyIdentifier>
<signatureParts>{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body</signatureParts>
<encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>
<encryptionUser>wdx_test</encryptionUser>
</action>
</parameter>
Есть ли что-то я могу сделать на стороне клиента, чтобы не получить такое исключение?