org.apache.xml.security.c14n.CanonicalizationException: Element listFunctions has a relative namespace: xmlns="xxx_xxx_listFunctions"



I am new to Axis2 and webservices. I have a axis2 web services . things run fine when ws-security is turned off. when ws-security is turned on . I get the following exeception in the server log . I debugged the service class method is not called . Attached are two service.xmls used.


The client invoking the webservice get the followoing soap fault - unexpected EOF in prolog


I get the following java exception in tomcat :


org.apache.xml.security.c14n.CanonicalizationException: Element listFunctions has a relative namespace: xmlns="test_vish_listFunctions" at org.apache.xml.security.c14n.implementations.Canonicalizer20010315.handleAttributesSubtree(Unknown Source) at org.apache.xml.security.c14n.implementations.CanonicalizerBase.canonicalizeSubTree(Unknown Source) at org.apache.xml.security.c14n.implementations.CanonicalizerBase.engineCanonicalizeSubTree(Unknown Source) at org.apache.xml.security.c14n.implementations.CanonicalizerBase.engineCanonicalizeSubTree(Unknown Source) at org.apache.xml.security.c14n.Canonicalizer.canonicalizeSubtree(Unknown Source) at org.apache.xml.security.utils.XMLUtils.outputDOM(Unknown Source)


Following is the server.xml when ws-security is off and things works



<service name="test_vish_listFunctions" targetNamespace="test_vish_listFunctions">
<description>
This service is to get the list functions
</description>
<schema schemaNamespace="test_listFunctions"/>
<parameter name="ServiceClass">vish.web.ws.service.ListFunctionsService</parameter>
<operation name="listFunctions">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
<module ref="soapmonitor"/>
</service>


The following the services.xml when ws-security is turned on



<service name="test_vish_listRoutines" targetNamespace="test_vish_listRoutines">
<description>Service description for test_vish_listRoutines</description>
<schema schemaNamespace="test_vish_listRoutines"/>
<parameter name="ServiceClass">test.web.ws.service.ListRoutinesService</parameter>
<parameter name = "disasbleREST">true</parameter>
<operation name="listRoutines">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</operation>
<module ref="soapmonitor"/>
<module ref="rampart" />
<parameter name = "InflowSecurity"><action>
<items>UsernameToken</items>
<passwordCallbackClass>test.web.ws.control.PWCBHandler</passwordCallbackClass>
</action>
</parameter>
</service>


Please help


No comments:

Post a Comment