Hi,
I am getting following error while trying to invoke a WS-Security enabled
client request:
org.apache.axis2.AxisFault: WSDoAllReceiver: Incoming message does not
contain required Security header
at
org.apache.rampart.handler.WSDoAllReceiver.processBasic(WSDoAllReceiver.java:221)
at
org.apache.rampart.handler.WSDoAllReceiver.processMessage(WSDoAllReceiver.java:86)
at org.apache.rampart.handler.WSDoAllHandler.invoke(WSDoAllHandler.java:72)
at org.apache.axis2.engine.Phase.invoke(Phase.java:317)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:163)
I am missing something I know but not sure what. Following is my client
code:
ServiceClient client = new ServiceClient();
Options options = new Options();
options.setAction("invoke");
options.setUserName("system");
options.setPassword("manager");
options.setTo(new EndpointReference(wsServerUrl + "services/ABS"));
client.setOptions(options);
client.engageModule("rampart");
OMElement response = client.sendReceive(getPayload(args));
Following is my services.xml:
<service name="ABS" targetNamespace="http://www.abc.com/webservice">
<description>Service description for ABS</description>
<schema
schemaNamespace="http://www.abc.com/webservice"/<http://www.abc.com/webservice%22/>
>
<parameter name="ServiceClass">ABS</parameter>
<parameter name = "disasbleREST">true</parameter>
<operation name="invoke">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</operation>
<module ref="soapmonitor"/>
<module ref="rampart" />
<parameter name = "InflowSecurity"><action>
<items>UsernameToken</items>
<passwordCallbackClass>web.ws.control.PWCBHandler</passwordCallbackClass>
</action>
</parameter>
<parameter name="OutflowSecurity">
<action>
<items>UsernameToken</items>
<passwordCallbackClass>web.ws.control.PWCBHandler</passwordCallbackClass>
</action>
</parameter>
</service>
Any idea?
Chinmoy