Hi Nandana,

Thanks a lot for the reply. Now I am getting following error:

org.apache.axis2.deployment.DeploymentException: The "Dispatch" phase is not
found on the global "InFlow" phase of the axis2.xml file. Make sure the
phase is within the axis2.xml file.
 at
org.apache.axis2.deployment.DeploymentEngine.loadRepository(DeploymentEngine.java:158)
 at
org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:133)
 at
org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:68)
 at
org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:184)....

My client code is:

try {
          ctx =
ConfigurationContextFactory.createConfigurationContextFromFileSystem("D:/Codes/weblims3/exploded/WEB-INF",
"D:/Codes/weblims3/axis2.xml");
      } catch (AxisFault axisFault) {
          axisFault.printStackTrace();
      }
 The error is happening in the previous line. What does it meant by
"Repository Path"? Please find attached axis2.xml.

Chinmoy







On Thu, Jul 16, 2009 at 9:27 AM, Nandana Mihindukulasooriya <
[email protected]> wrote:

> Hi Chinmoy,
>         As it seems, you don't have the "OutflowSecurity" parameter defined
> in the client side. So basically you need to have a client side axis2 with
> that parameter and then create a ConfigurationContext out of it. Rampart
> basic sample 01 shows how to do this [1],[2]. But you won't be able to pass
> username/password through options when you use parameter based
> configuration. Is there a possibility for you to use policy based
> configuration. If so, please look at following tutorial [2].
>
> regards,
> Nandana
>
> [1] -
> https://svn.apache.org/repos/asf/webservices/rampart/trunk/java/modules/rampart-samples/basic/sample01/client.axis2.xml
> [2] -
> https://svn.apache.org/repos/asf/webservices/rampart/trunk/java/modules/rampart-samples/basic/sample01/src/org/apache/rampart/samples/sample01/Client.java
> [3] - https://www.wso2.org/library/3190
>
>
> On Wed, Jul 15, 2009 at 5:45 PM, Chinmoy Chakraborty <[email protected]>wrote:
>
>> 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
>>
>
>
>
> --
> Nandana Mihindukulasooriya
> WSO2 inc.
>
> http://nandana83.blogspot.com/
> http://www.wso2.org
>
<axisconfig name="AxisJava2.0">

	<module ref="rampart" />
	
	<parameter name="OutflowSecurity">
    	<action>
        	<items>UsernameToken</items>
        	<user>system</user>
        	<passwordCallbackClass>labware.web.ws.control.PWCBHandler</passwordCallbackClass>
      	</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>

   <phaseOrder type="inflow">
        <!--  System pre defined phases       -->
         <phase name="Transport">
            <handler name="RequestURIBasedDispatcher"
                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
                <order phase="Dispatch"/>
            </handler>
            <handler name="SOAPActionBasedDispatcher"
                     class="org.apache.axis2.engine.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.engine.AddressingBasedDispatcher">
                <order phase="Dispatch"/>
            </handler>

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

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

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

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

</axisconfig>

Reply via email to