Hi Sanjay,
          Rampart SNAPSHOT insist on using "https" as the transport
medium because you have the following policy assertion.

<sp:TransportToken>
         <wsp:Policy>
                   <sp:HttpsToken RequireClientCertificate="false"/>
          </wsp:Policy>
</sp:TransportToken>

       If you comment out the https token, you will be able to use
http, but it is adviced to use a secure transport.  Looking at the
stack trace it seems that, the response you are getting from the
server is not having a security header and looking at your policy it
is correct behavior. The response doesn't need to have a security
header. I thought we handle this scenario properly, but I will recheck
with your policy.

thanks,
/nandana

On Mon, Mar 3, 2008 at 7:10 PM, Sanjay Vivek
<[EMAIL PROTECTED]> wrote:
> Hi everyone,
>
>  I've a policy based service that returns the UsernameToken information
>  of an authenticated user. This service is based on the latest Rampart
>  and Axis2 SNAPSHOT version as suggested in the forum. However, when I
>  tried to call this service with a client, I got the following exception:
>
>  Exception in thread "main" org.apache.axis2.AxisFault: Expected
>  transport is "https" but incoming transport found : "http"
>
>  So I proceeded to put the service behind https. Now however, I get a new
>  exception:
>
>  Exception in thread "main" org.apache.axis2.AxisFault: Missing
>  wsse:Security header in request
>         at
>  org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:9
>  2)
>         at org.apache.axis2.engine.Phase.invoke(Phase.java:292)
>         at
>  org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212)
>         at
>  org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:132)
>         at
>  org.apache.axis2.description.OutInAxisOperationClient.handleResponse(Out
>  InAxisOperation.java:336)
>         at
>  org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOper
>  ation.java:389)
>         at
>  org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInA
>  xisOperation.java:211)
>         at
>  org.apache.axis2.client.OperationClient.execute(OperationClient.java:163
>  )
>         at
>  org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528
>  )
>         at
>  org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508
>  )
>         at
>  org.apache.rampart.policy.CommandLineClient.main(CommandLineClient.java:
>  69)
>  Caused by: org.apache.rampart.RampartException: Missing wsse:Security
>  header in request
>         at
>  org.apache.rampart.RampartEngine.process(RampartEngine.java:106)
>         at
>  org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:8
>  5)
>         ... 10 more
>
>
>  I don't get these errors when I use the rampart-1.3 distribution. My
>  client can successfully call the service via http or https. Both my
>  client and service installation is exactly the same as the
>  rampart-snapshot distribution (i.e. my services.xml and policy.xml are
>  exactly the same). And does Rampart-SNAPSHOT insist upon the service
>  being behind https?
>
>  Do I have to edit anything else to the services.xml or policy.xml to get
>  it working for the rampart-snapshot distro? Both my services.xml and
>  policy.xml are given below for reference. Cheers.
>
>  Regards
>  Sanjay
>
>
>  policy.xml:
>
>  <wsp:Policy wsu:Id="UTOverTransport"
>  xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec
>  urity-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>
>                 </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/In
>  cludeToken/AlwaysToRecipient" />
>                   </wsp:Policy>
>                 </sp:SignedSupportingTokens>
>
>                 <ramp:RampartConfig
>  xmlns:ramp="http://ws.apache.org/rampart/policy";>
>                         <ramp:user>bob</ramp:user>
>
>  <ramp:passwordCallbackClass>org.apache.rampart.policy.PWHandlerClient</r
>  amp:passwordCallbackClass>
>                 </ramp:RampartConfig>
>
>           </wsp:All>
>         </wsp:ExactlyOne>
>  </wsp:Policy>
>
>
>  services.xml:
>
>  <service>
>         <operation name="echo">
>                 <messageReceiver
>  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
>         </operation>
>         <parameter name="ServiceClass"
>  locked="false">org.apache.rampart.policy.PolicyEchoService</parameter>
>
>         <module ref="rampart" />
>         <module ref="addressing" />
>
>         <wsp:Policy wsu:Id="UTOverTransport"
>  xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec
>  urity-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>
>                           </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/In
>  cludeToken/AlwaysToRecipient" />
>                           </wsp:Policy>
>                         </sp:SignedSupportingTokens>
>
>                         <ramp:RampartConfig
>  xmlns:ramp="http://ws.apache.org/rampart/policy";>
>
>  <ramp:passwordCallbackClass>org.apache.rampart.policy.PWHandlerServer</r
>  amp:passwordCallbackClass>
>                         </ramp:RampartConfig>
>
>                   </wsp:All>
>                 </wsp:ExactlyOne>
>         </wsp:Policy>
>  </service>
>



-- 
Nandana Mihindukulasooriya
Software Engineer
WSO2 inc.

http://nandana83.blogspot.com/
http://nandanasm.wordpress.com/

Reply via email to