Hi,

This is because you haven't set the action of "InflowSecurity"
parameter in the services.xml at server side. Please look at sample
02.

<parameter name="InflowSecurity">

     <action>

       <items>Timestamp</items>

   
<passwordCallbackClass>org.apache.rampart.samples.sample02.PWCBHandler</passwordCallbackClass>

     </action>

   </parameter>

Cheers,
Dimuthu.



On 5/23/07, snehil <[EMAIL PROTECTED]> wrote:




Hi All,

Here is the problem I am facing.Any help is much appreciated.



Versions Used -

Axis2 1.1.1

Rampart 1.1

WSS4j 1.5.1



Problem :I am able to send Timestamp in outflow security  parameter from
client but  as soon as I add inflow security parameters in to services.xml I
start getting fault. If I remove this part from services.xml, service starts
working.





REQUEST :



POST /axis2/services/SimpleService HTTP/1.1

SOAPAction: "urn:echo"

User-Agent: Axis2

Host: 127.0.0.1:8888

Transfer-Encoding: chunked

Content-Type: text/xml; charset=UTF-8



2c8

<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Header>

<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
soapenv:mustUnderstand="1"><wsu:Timestamp
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
wsu:Id="Timestamp-1465214"><wsu:Created>2007-05-23T07:21:48.753Z</wsu:Created><wsu:Expires>2007-05-23T07:26:48.753Z</wsu:Expires></wsu:Timestamp></wsse:Security></soapenv:Header><soapenv:Body><ns1:echo
xmlns:ns1="http://sample01.samples.rampart.apache.org/xsd";><param0>Hello
world</param0></ns1:echo></soapenv:Body></soapenv:Envelope>

0







RESPONSE :

HTTP/1.1 500 Internal Server Error

Content-Type: text/xml;charset=UTF-8

Transfer-Encoding: chunked

Date: Wed, 23 May 2007 07:21:50 GMT

Server: Apache-Coyote/1.1

Connection: close



273

<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
xmlns:wsa="http://www.w3.org/2005/08/addressing";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Header><wsa:ReplyTo><wsa:Address>http://www.w3.org/2005/08/addressing/none</wsa:Address></wsa:ReplyTo><wsa:MessageID>urn:uuid:88FC109B3027D65F721179904910301</wsa:MessageID><wsa:Action>http://www.w3.org/2005/08/addressing/soap/fault</wsa:Action></soapenv:Header><soapenv:Body><soapenv:Fault><faultcode>soapenv:Client</faultcode><faultstring>WSDoAllReceiver:
No action items defined</faultstring><detail
/></soapenv:Fault></soapenv:Body></soapenv:Envelope>

0



---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

EXCEPTION THROWN:

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

     [java] org.apache.axis2.AxisFault: WSDoAllReceiver: No action items
defined



     [java]     at
org.apache.axis2.description.OutInAxisOperationClient.send(Ou

tInAxisOperation.java:271)

     [java]     at
org.apache.axis2.description.OutInAxisOperationClient.execute

(OutInAxisOperation.java:202)

     [java]     at
org.apache.axis2.client.ServiceClient.sendReceive(ServiceClie

nt.java:579)

     [java]     at
org.apache.axis2.client.ServiceClient.sendReceive(ServiceClie

nt.java:508)

     [java]     at
org.apache.rampart.samples.sample01.Client.main(Unknown
Sourc

e)

     [java]     at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

     [java]     at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces

sorImpl.java:39)

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

Services.xml -

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

<service>

            <operation name="echo">

                        <messageReceiver
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

            </operation>



            <parameter name="ServiceClass"
locked="false">org.apache.rampart.samples.sample01.SimpleService</parameter>



            <module ref="rampart" />



            <parameter name="InflowSecurity">

                        <action>

                                    <item>Timestamp</item>

                        </action>

            </parameter>

            <!--

            <parameter name="OutflowSecurity">

                        <action>

                                    <item>Timestamp</item>

                        </action>

            </parameter>-->



</service>



---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

Client axis2.xml :

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>

<!--

 !

 ! Copyright 2006 The Apache Software Foundation.

 !

 ! Licensed under the Apache License, Version 2.0 (the "License");

 ! you may not use this file except in compliance with the License.

 ! You may obtain a copy of the License at

 !

 !      http://www.apache.org/licenses/LICENSE-2.0

 !

 ! Unless required by applicable law or agreed to in writing, software

 ! distributed under the License is distributed on an "AS IS" BASIS,

 ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 ! See the License for the specific language governing permissions and

 ! limitations under the License.

 !-->



<axisconfig name="AxisJava2.0">

<parameter name="OutflowSecurity">

      <action>

        <items>Timestamp</items>

      </action>

    </parameter>

            <module ref="rampart" />



    <!-- =================================================
-->

    <!-- Parameters -->

    <!-- =================================================
-->

    <parameter name="hotdeployment" locked="false">true</parameter>

    <parameter name="hotupdate"
locked="false">false</parameter>

    <parameter name="enableMTOM"
locked="false">false</parameter>



    <!--During a fault, stacktrace can be sent with the fault message. The
following flag will control -->

    <!--that behaviour.-->

    <parameter name="sendStacktraceDetailsWithFaults"
locked="false">true</parameter>



    <!--If there aren't any information available to find out the fault
reason, we set the message of the exception-->

    <!--as the faultreason/Reason. But when a fault is thrown from a service
or some where, it will be -->

    <!--wrapped by different levels. Due to this the initial exception
message can be lost. If this flag-->

    <!--is set then, Axis2 tries to get the first exception and set its
message as the faultreason/Reason.-->

    <parameter name="DrillDownToRootCauseForFaultReason"
locked="false">false</parameter>



    <!--This is the user name and password of admin console-->

    <parameter name="userName"
locked="false">admin</parameter>

    <parameter name="password"
locked="false">axis2</parameter>



    <!--To override repository/services you need to uncomment following
parameter and value SHOULD be absolute file path.-->

    <!--<parameter name="services"
locked="false">service</parameter>-->

    <!--To override repository/modules you need to uncomment following
parameter and value SHOULD be absolute file path-->

    <!--<parameter name="modules"
locked="false">modules</parameter>-->



    <!--Following params will set the proper context paths for invocations.
All the endpoints will have a commons context-->

    <!--root which can configured using the following contextRoot
parameter-->

    <!--<parameter name="contextRoot"
locked="false">axis2</parameter>-->



    <!--Our HTTP endpoints can handle both REST and SOAP. Following
parameters can be used to distinguish those endpoints-->

    <!--<parameter name="servicePath"
locked="false">services</parameter>-->

    <!--<parameter name="restPath"
locked="false">rest</parameter>-->



    <!--Set the flag to true if you want to enable transport level session
management-->

    <parameter name="manageTransportSession"
locked="false">false</parameter>



    <!--Following two parameters will be used to handle REST in Axis2. The
default settings will make Axis2 to have two-->

    <!--different endpoints, one for REST (AxisRESTServlet) one for SOAP
message handling (AxisServlet). But following-->

    <!--parameters help to tweak the message handling of two main servlets.
-->



    <!-- If the enableRESTInAxis2MainServlet is true, then Axis2MainServlet
will handle both SOAP and REST messages -->

    <parameter name="enableRESTInAxis2MainServlet"
locked="true">true</parameter>



    <!-- Following parameter will completely disable REST handling in both
the servlets-->

    <parameter name="disableREST" locked="true">false</parameter>



    <!-- This will disable the separate servlet we have for REST handling.
-->

    <parameter name="disableSeparateEndpointForREST"
locked="true">false</parameter>







    <!-- =================================================
-->

    <!-- Message Receivers -->

    <!-- =================================================
-->

    <!--This is the Default Message Receiver for the system , if you want to
have MessageReceivers for -->

    <!--all the other MEP implement it and add the correct entry to here ,
so that you can refer from-->

    <!--any operation -->

    <!--Note : You can override this for particular service by adding the
same element with your requirement-->

    <messageReceivers>

        <messageReceiver
mep="http://www.w3.org/2004/08/wsdl/in-only";


class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>

        <messageReceiver
mep="http://www.w3.org/2004/08/wsdl/in-out";


class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

    </messageReceivers>



    <!-- =================================================
-->

    <!-- Target Resolvers -->

    <!-- =================================================
-->

    <!-- Uncomment the following and specify the class name for your
TargetResolver to add -->

    <!-- a TargetResolver. TargetResolvers are used to process the To EPR
for example to -->

    <!-- choose a server in a cluster -->

    <!--<targetResolvers>-->

    <!--<targetResolver class="" />-->

    <!--</targetResolvers>-->





    <!-- =================================================
-->

    <!-- Transport Ins -->

    <!-- =================================================
-->

    <transportReceiver name="http"


class="org.apache.axis2.transport.http.SimpleHTTPServer">

        <parameter name="port" locked="false">6060</parameter>

        <!--If you want to give your own host address for EPR generation-->

        <!--uncomment following parameter , and set as you required.-->

        <!--<parameter name="hostname"
locked="false">http://myApp.com/ws</parameter>-->

    </transportReceiver>



    <transportReceiver name="tcp"


class="org.apache.axis2.transport.tcp.TCPServer">

        <parameter name="port" locked="false">6061</parameter>

        <!--If you want to give your own host address for EPR generation-->

        <!--uncomment following parameter , and set as you required.-->

        <!--<parameter name="hostname"
locked="false">tcp://myApp.com/ws</parameter>-->

    </transportReceiver>



    <!-- =================================================
-->

    <!-- Transport Outs -->

    <!-- =================================================
-->



    <transportSender name="jms"


class="org.apache.axis2.transport.jms.JMSSender"/>

    <transportSender name="tcp"


class="org.apache.axis2.transport.tcp.TCPTransportSender"/>

    <transportSender name="local"


class="org.apache.axis2.transport.local.LocalTransportSender"/>

    <transportSender name="http"


class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

        <parameter name="PROTOCOL"
locked="false">HTTP/1.1</parameter>

        <parameter name="Transfer-Encoding"
locked="false">chunked</parameter>

    </transportSender>

    <transportSender name="https"


class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

        <parameter name="PROTOCOL"
locked="false">HTTP/1.1</parameter>

        <parameter name="Transfer-Encoding"
locked="false">chunked</parameter>

    </transportSender>



    <!-- =================================================
-->

    <!-- Phases  -->

    <!-- =================================================
-->

    <phaseOrder type="InFlow">

        <!--  System pre-defined phases       -->

         <phase name="Transport">

            <handler name="RequestURIBasedDispatcher"


class="org.apache.axis2.engine.RequestURIBasedDispatcher">

                <order phase="Transport"/>

            </handler>

            <handler name="SOAPActionBasedDispatcher"


class="org.apache.axis2.engine.SOAPActionBasedDispatcher">

                <order phase="Transport"/>

            </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="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"/>

    </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"/>

        <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.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="Dispatch"/>

            </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>

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------



Thanks

Snehil
http://www.patni.com
 World-Wide Partnerships. World-Class Solutions.
_____________________________________________________________________

 This e-mail message may contain proprietary, confidential or legally
privileged information for the sole use of the person or entity to whom this
message was originally addressed. Any review, e-transmission dissemination
or other use of or taking of any action in reliance upon this information by
persons or entities other than the intended recipient is prohibited. If you
have received this e-mail in error kindly delete this e-mail from your
records. If it appears that this mail has been forwarded to you without
proper authority, please notify us immediately at [EMAIL PROTECTED] and
delete this mail.
_____________________________________________________________________

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to