Hi,

I got the error while invoking a call with policy based WS-Security enabled
call. Following is my client side code:

System.setProperty("javax.net.ssl.trustStore", "D:/wskey.jks");
      System.setProperty("javax.net.ssl.trustStorePassword", "password");
      ConfigurationContext ctx = null;
      Policy clientPolicy = null;
      try {
          ctx =
ConfigurationContextFactory.createConfigurationContextFromFileSystem("D:\\Codes\\weblims3\\exploded\\WEB-INF",
"D:\\Codes\\weblims3\\axis2.xml");
          StAXOMBuilder builder = new
StAXOMBuilder("D:\\Codes\\weblims3\\policy.xml");
          clientPolicy =
PolicyEngine.getPolicy(builder.getDocumentElement());
      } catch (Exception axisFault) {
          axisFault.printStackTrace();
      }
      ServiceClient client = new ServiceClient(ctx,
ctx.getAxisConfiguration().getService("ABS"));
      Options options = new Options();
      options.setAction("invoke");
      options.setUserName("system");
      options.setPassword("password");
      options.setTo(new EndpointReference("https://localhost:8888/"; +
"services/ABS"));
      options.setProperty(RampartMessageData.KEY_RAMPART_POLICY,
clientPolicy);
      client.setOptions(options);
      System.out.println("before engaging module rampart");
      client.engageModule("rampart");
      OMElement response = client.sendReceive(getPayload(args));

Please find attached policy.xml, services.xml, and axis2.xml using which I
am creating configurationcontext. One more question, does TCPMon intercept
'https' requests? I am TCPMon for ws-security based webservice and I am
seeing some encrypted message that I can not understsnd.

Chinmoy

Attachment: wskey.jks
Description: Binary data

<axisconfig name="AxisJava2.0">

	<module ref="rampart" />
	
	<parameter name="OutflowSecurity">
    	<action>
        	<items>UsernameToken</items>
        	<user>bob</user>
        	<passwordCallbackClass>labware.web.ws.control.PWCBHandler</passwordCallbackClass>
			<passwordType>PasswordText</passwordType>
      	</action>
    </parameter> 
	
    <parameter name="hotdeployment" locked="false">true</parameter>
    <parameter name="hotupdate" locked="false">true</parameter>

    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>
    </transportSender>
	<transportSender name="https"
                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>
        <!-- <parameter name="Transfer-Encoding">chunked</parameter> -->
    </transportSender>

   <phaseOrder type="InFlow">
        <!--  System pre defined phases       -->
         <phase name="Transport">
            <handler name="RequestURIBasedDispatcher"
                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
                <order phase="Dispatch"/>
            </handler>
            <handler name="SOAPActionBasedDispatcher"
                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
                <order phase="Dispatch"/>
            </handler>
        </phase>
        <phase name="Security"/>
        <phase name="PreDispatch"/>
        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
            <handler name="AddressingBasedDispatcher"
                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
                <order phase="Dispatch"/>
            </handler>

            <handler name="SOAPMessageBodyBasedDispatcher"
                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher">
                <order phase="Dispatch"/>
            </handler>
        </phase>
        <!--  System pre defined phases       -->
        <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
        <phase name="OperationInPhase"/>
		<phase name="soapmonitorPhase"/>
    </phaseOrder>
    <phaseOrder type="OutFlow">
        <!--      user can add his own phases to this area  -->
        <phase name="soapmonitorPhase"/>
		<phase name="OperationOutPhase"/>
        <!--system predefined phase-->
        <!--these phase will run irrespective of the service-->
        <phase name="PolicyDetermination"/>
        <phase name="MessageOut"/>
		<phase name="Security"/>
    </phaseOrder>
    <phaseOrder type="InFaultFlow">
        <phase name="PreDispatch"/>
        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
            <handler name="RequestURIBasedDispatcher"
                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
                <order phase="Dispatch"/>
            </handler>

            <handler name="SOAPActionBasedDispatcher"
                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
                <order phase="Dispatch"/>
            </handler>

            <handler name="AddressingBasedDispatcher"
                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
                <order phase="Dispatch"/>
            </handler>

            <handler name="SOAPMessageBodyBasedDispatcher"
                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher">
                <order phase="Dispatch"/>
            </handler>
        </phase>
        <!--      user can add his own phases to this area  -->
        <phase name="OperationInFaultPhase"/>
		<phase name="soapmonitorPhase"/>
		<phase name="Security"/>
    </phaseOrder>
    <phaseOrder type="OutFaultFlow">
        <!--      user can add his own phases to this area  -->
        <phase name="soapmonitorPhase"/>
		<phase name="OperationOutFaultPhase"/>
        <phase name="PolicyDetermination"/>
        <phase name="MessageOut"/>
		<phase name="Security"/>
    </phaseOrder>

</axisconfig>

<wsp:Policy wsu:Id="UsernameTokenOverHTTPS" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"; xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy";>
<wsp:ExactlyOne>
<wsp:All>
<sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
<wsp:Policy>
<sp:TransportToken>
<wsp:Policy>
<sp:HttpsToken RequireClientCertificate="false"/>
</wsp:Policy>
</sp:TransportToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic256/>
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Lax/>
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp/>
</wsp:Policy>
</sp:TransportBinding>
<sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
<wsp:Policy>
<sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"; />
</wsp:Policy>
</sp:SignedSupportingTokens>
<!--<ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy";>
<ramp:passwordCallbackClass>labware.web.ws.control.PWCBHandler</ramp:passwordCallbackClass>
</ramp:RampartConfig> -->
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
<service name="ABS" targetNamespace="http://www.abc.com/webservice";>
<description>Service description for ABS</description>
<schema schemaNamespace="http://www.abc.com/webservice"/>
<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" />
<wsp:Policy wsu:Id="UsernameTokenOverHTTPS" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"; xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy";>
<wsp:ExactlyOne>
<wsp:All>
<sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
<wsp:Policy>
<sp:TransportToken>
<wsp:Policy>
<sp:HttpsToken RequireClientCertificate="false"/>
</wsp:Policy>
</sp:TransportToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic256/>
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Lax/>
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp/>
</wsp:Policy>
</sp:TransportBinding>
<sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
<wsp:Policy>
<sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"; />
</wsp:Policy>
</sp:SignedSupportingTokens>
<ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy";>
<ramp:passwordCallbackClass>abc.web.ws.control.PWCBHandler</ramp:passwordCallbackClass>
</ramp:RampartConfig>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
</service>

Reply via email to