You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Thulasiraman K <th...@ymail.com> on 2012/09/04 15:38:14 UTC

Missing Headers in the SOAP:Response - Rampart

Hi All,

I am trying to implement a Web Services application using Axis 1.6.2 and Rampart 1.6.2, based on the MessageID in the SOAP header request I want to log and Map that to the outgoing SOAP response. But right now my response doesn't have any headers. do i need to configure anything in the services.xml or anything in rampart? Any help is appreciated.

>From Log:


Request: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" soapenv:mustUnderstand="1"><wsu:Timestamp wsu:Id="TS-1"><wsu:Created>2012-09-04T13:03:10.709Z</wsu:Created><wsu:Expires>2012-09-04T13:08:10.709Z</wsu:Expires></wsu:Timestamp><wsse:UsernameToken wsu:Id="UsernameToken-2"><wsse:Username>alice</wsse:Username><wsse:Password
 Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">bobPW</wsse:Password></wsse:UsernameToken></wsse:Security><wsa:To>https://xxx.xx.com:9443/axis2/services/FugenBank-WS</wsa:To><wsa:MessageID>urn:uuid:7d2ab165-759e-4f0d-b99f-c0406c6e455e</wsa:MessageID><wsa:Action>urn:test</wsa:Action></soapenv:Header><soapenv:Body><ns1:test xmlns:ns1="http://xxx.xx.com"><CID>6002005828</CID></ns1:test></soapenv:Body></soapenv:Envelope>



Response: [INFO] <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:testResponse xmlns:ns="http://xxx.xx.com"><ns:return>test</ns:return></ns:testResponse></soapenv:Body></soapenv:Envelope>

both my policy.xml and services.xml are same

-- services.xml--

<service>

<operation name="test">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
<parameter name="ServiceClass" locked="false">xx.xx.IDEnrollment
</parameter>

<module ref="rampart" />
<module ref="addressing" />
<module ref="sample-logging" />

<wsp:Policy wsu:Id="UTOverTransport"
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:Basic128 />
</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>xx.xx.PWCBHandler</ramp:passwordCallbackClass>
</ramp:RampartConfig>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
</service>

Thanks,
Ram.

Re: Missing Headers in the SOAP:Response - Rampart

Posted by Suresh Attanayake <su...@gmail.com>.
Hi,

I tried rampart-1.6.2 sample02 which has a similar policy as above. With
Axis2 1.6.2 it works fine, used tcp-mon to monitor the messages. Basically
you do not need to do any configurations at the axis2 server other than
coping jars and mars, engaging modules in the services.xml.

Thanks,
-suresh

On Wed, Sep 5, 2012 at 11:39 AM, Thulasiraman K <th...@ymail.com>wrote:

> Thanks Suresh for your prompt reply,
>
> Yes, I have copied the .mar files and the jar files. And I also tested for
> SSL Mutual Authentication, the webservices works fine as expected. The
> issue is capturing the Web Services messages, I tried the logging
> module(tried the Apache sample-logging.mar example) I am not able to see
> any Headers in the SOAPResponse, i.e. the WS-ReplyTo, MessageID etc. or any
> optional headers in the Out going SOAPResponse, but I can able to see
> Headers in SOAPRequest. I know Headers are not mandate in the SOAPResponse,
> but for auditing purpose we are capturing.
>
> I have even edited the Addressing.mar(Module.xml) file like this, but
> still i am not able to get the Headers in the SOAPResponse. Also tried the
> same thing in the axis2.xml (Added moduleconfig for optionalheaders)
>
> <module name="addressing">
> <parameter name="includeOptionalHeaders">true</parameter>
>
> Any clue on this.
>
> Thanks,
> Ram.
>
>   ------------------------------
> *From:* Suresh Attanayake <su...@gmail.com>
> *To:* java-dev@axis.apache.org; Thulasiraman K <th...@ymail.com>
> *Sent:* Wednesday, September 5, 2012 10:07 AM
> *Subject:* Re: Missing Headers in the SOAP:Response - Rampart
>
> Hi,
>
> Have you added rampart.mar module and rampart lib jars to Axis2 ?
>
>    - You should have copied the rampart.mar which can be found in the
>    modules/ directory of the rampart distribution to the repository/modules/
>    folder of the axis2 distribution.
>    - You should have copied .jar files which can be found in the lib/
>    directory of the rampart distribution to the lib/ directory of the aixs2
>    distribution.
>
>  Can you please share the server logs ?
>
> Thanks,
> -Suresh
>
> On Tue, Sep 4, 2012 at 7:08 PM, Thulasiraman K <th...@ymail.com>wrote:
>
> Hi All,
>
> I am trying to implement a Web Services application using Axis 1.6.2 and
> Rampart 1.6.2, based on the MessageID in the SOAP header request I want to
> log and Map that to the outgoing SOAP response. But right now my response
> doesn't have any headers. do i need to configure anything in the
> services.xml or anything in rampart? Any help is appreciated.
>
> From Log:
>
> Request: <soapenv:Envelope xmlns:soapenv="
> http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header xmlns:wsa="
> http://www.w3.org/2005/08/addressing"><wsse:Security xmlns:wsse="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
> xmlns:wsu="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
> soapenv:mustUnderstand="1"><wsu:Timestamp
> wsu:Id="TS-1"><wsu:Created>2012-09-04T13:03:10.709Z</wsu:Created><wsu:Expires>2012-09-04T13:08:10.709Z</wsu:Expires></wsu:Timestamp><wsse:UsernameToken
> wsu:Id="UsernameToken-2"><wsse:Username>alice</wsse:Username><wsse:Password
> Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText
> ">bobPW</wsse:Password></wsse:UsernameToken></wsse:Security><wsa:To>
> https://xxx.xx.com:9443/axis2/services/FugenBank-WS</wsa:To><wsa:MessageID>urn:uuid:7d2ab165-759e-4f0d-b99f-c0406c6e455e</wsa:MessageID><wsa:Action>urn:test</wsa:Action></soapenv:Header><soapenv:Body><ns1:test
> xmlns:ns1="http://xxx.xx.com"><CID>6002005828
> </CID></ns1:test></soapenv:Body></soapenv:Envelope>
>
>
> Response: [INFO] <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:testResponse
> xmlns:ns="http://xxx.xx.com
> "><ns:return>test</ns:return></ns:testResponse></soapenv:Body></soapenv:Envelope>
>
> both my policy.xml and services.xml are same
>
> -- services.xml--
>
> <service>
> <operation name="test">
>  <messageReceiver
> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
>  </operation>
>  <parameter name="ServiceClass" locked="false">xx.xx.IDEnrollment
>  </parameter>
>
> <module ref="rampart" />
>  <module ref="addressing" />
>  <module ref="sample-logging" />
>
>  <wsp:Policy wsu:Id="UTOverTransport"
>  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:Basic128 />
> </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>xx.xx.PWCBHandler</ramp:passwordCallbackClass>
>  </ramp:RampartConfig>
>  </wsp:All>
> </wsp:ExactlyOne>
>  </wsp:Policy>
> </service>
>
> Thanks,
> Ram.
>
>
>
>
> --
> Suresh Attanayake
>
> Blog : http://sureshatt.blogspot.com/
> LinkedIn : http://www.linkedin.com/pub/suresh-attanayake/16/165/181
> Twitter : http://twitter.com/sureshatt
>
>
>
>


-- 
Suresh Attanayake

Blog : http://sureshatt.blogspot.com/
LinkedIn : http://www.linkedin.com/pub/suresh-attanayake/16/165/181
Twitter : http://twitter.com/sureshatt

Re: Missing Headers in the SOAP:Response - Rampart

Posted by Thulasiraman K <th...@ymail.com>.
Thanks Suresh for your prompt reply,

Yes, I have copied the .mar files and the jar files. And I also tested for SSL Mutual Authentication, the webservices works fine as expected. The issue is capturing the Web Services messages, I tried the logging module(tried the Apache sample-logging.mar example) I am not able to see any Headers in the SOAPResponse, i.e. the WS-ReplyTo, MessageID etc. or any optional headers in the Out going SOAPResponse, but I can able to see Headers in SOAPRequest. I know Headers are not mandate in the SOAPResponse, but for auditing purpose we are capturing.

I have even edited the Addressing.mar(Module.xml) file like this, but still i am not able to get the Headers in the SOAPResponse. Also tried the same thing in the axis2.xml (Added moduleconfig for optionalheaders)

<module name="addressing">
<parameter name="includeOptionalHeaders">true</parameter>

Any clue on this.

Thanks,
Ram.


________________________________
 From: Suresh Attanayake <su...@gmail.com>
To: java-dev@axis.apache.org; Thulasiraman K <th...@ymail.com> 
Sent: Wednesday, September 5, 2012 10:07 AM
Subject: Re: Missing Headers in the SOAP:Response - Rampart
 

Hi,

Have you added rampart.mar module and rampart lib jars to Axis2 ?
	* You should have copied the rampart.mar which can be found in the modules/ directory of the rampart distribution to the repository/modules/ folder of the axis2 distribution. 
	* You should have copied .jar files which can be found in the lib/ directory of the rampart distribution to the lib/ directory of the aixs2 distribution.
 Can you please share the server logs ?

Thanks,
-Suresh


On Tue, Sep 4, 2012 at 7:08 PM, Thulasiraman K <th...@ymail.com> wrote:

Hi All,
>
>
>I am trying to implement a Web Services application using Axis 1.6.2 and Rampart 1.6.2, based on the MessageID in the SOAP header request I want to log and Map that to the outgoing SOAP response. But right now my response doesn't have any headers. do i need to configure anything in the services.xml or anything in rampart? Any help is appreciated.
>
>
>From Log:
>
>
>Request: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" soapenv:mustUnderstand="1"><wsu:Timestamp wsu:Id="TS-1"><wsu:Created>2012-09-04T13:03:10.709Z</wsu:Created><wsu:Expires>2012-09-04T13:08:10.709Z</wsu:Expires></wsu:Timestamp><wsse:UsernameToken wsu:Id="UsernameToken-2"><wsse:Username>alice</wsse:Username><wsse:Password
 Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">bobPW</wsse:Password></wsse:UsernameToken></wsse:Security><wsa:To>https://xxx.xx.com:9443/axis2/services/FugenBank-WS</wsa:To><wsa:MessageID>urn:uuid:7d2ab165-759e-4f0d-b99f-c0406c6e455e</wsa:MessageID><wsa:Action>urn:test</wsa:Action></soapenv:Header><soapenv:Body><ns1:test xmlns:ns1="http://xxx.xx.com"><CID>6002005828</CID></ns1:test></soapenv:Body></soapenv:Envelope>
>
>
>
>
>
>Response: [INFO] <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:testResponse xmlns:ns="http://xxx.xx.com"><ns:return>test</ns:return></ns:testResponse></soapenv:Body></soapenv:Envelope>
>
>
>both my policy.xml and services.xml are same
>
>
>-- services.xml--
>
>
><service>
>
><operation name="test">
><messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
></operation>
><parameter name="ServiceClass" locked="false">xx.xx.IDEnrollment
></parameter>
>
>
><module ref="rampart" />
><module ref="addressing" />
><module ref="sample-logging" />
>
>
><wsp:Policy wsu:Id="UTOverTransport"
>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:Basic128 />
></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>xx.xx.PWCBHandler</ramp:passwordCallbackClass>
></ramp:RampartConfig>
></wsp:All>
></wsp:ExactlyOne>
></wsp:Policy>
></service>
>
>
>Thanks,
>Ram.
>
>


-- 
Suresh Attanayake

Blog : http://sureshatt.blogspot.com/ 
LinkedIn : http://www.linkedin.com/pub/suresh-attanayake/16/165/181 
Twitter : http://twitter.com/sureshatt 

Re: Missing Headers in the SOAP:Response - Rampart

Posted by Suresh Attanayake <su...@gmail.com>.
Hi,

Have you added rampart.mar module and rampart lib jars to Axis2 ?

   - You should have copied the rampart.mar which can be found in the
   modules/ directory of the rampart distribution to the repository/modules/
   folder of the axis2 distribution.
   - You should have copied .jar files which can be found in the lib/
   directory of the rampart distribution to the lib/ directory of the aixs2
   distribution.

 Can you please share the server logs ?

Thanks,
-Suresh

On Tue, Sep 4, 2012 at 7:08 PM, Thulasiraman K <th...@ymail.com>wrote:

> Hi All,
>
> I am trying to implement a Web Services application using Axis 1.6.2 and
> Rampart 1.6.2, based on the MessageID in the SOAP header request I want to
> log and Map that to the outgoing SOAP response. But right now my response
> doesn't have any headers. do i need to configure anything in the
> services.xml or anything in rampart? Any help is appreciated.
>
> From Log:
>
> Request: <soapenv:Envelope xmlns:soapenv="
> http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header xmlns:wsa="
> http://www.w3.org/2005/08/addressing"><wsse:Security xmlns:wsse="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
> xmlns:wsu="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
> soapenv:mustUnderstand="1"><wsu:Timestamp
> wsu:Id="TS-1"><wsu:Created>2012-09-04T13:03:10.709Z</wsu:Created><wsu:Expires>2012-09-04T13:08:10.709Z</wsu:Expires></wsu:Timestamp><wsse:UsernameToken
> wsu:Id="UsernameToken-2"><wsse:Username>alice</wsse:Username><wsse:Password
> Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText
> ">bobPW</wsse:Password></wsse:UsernameToken></wsse:Security><wsa:To>
> https://xxx.xx.com:9443/axis2/services/FugenBank-WS</wsa:To><wsa:MessageID>urn:uuid:7d2ab165-759e-4f0d-b99f-c0406c6e455e</wsa:MessageID><wsa:Action>urn:test</wsa:Action></soapenv:Header><soapenv:Body><ns1:test
> xmlns:ns1="http://xxx.xx.com
> "><CID>6002005828</CID></ns1:test></soapenv:Body></soapenv:Envelope>
>
>
> Response: [INFO] <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:testResponse
> xmlns:ns="http://xxx.xx.com
> "><ns:return>test</ns:return></ns:testResponse></soapenv:Body></soapenv:Envelope>
>
> both my policy.xml and services.xml are same
>
> -- services.xml--
>
> <service>
> <operation name="test">
> <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"
> />
> </operation>
> <parameter name="ServiceClass" locked="false">xx.xx.IDEnrollment
> </parameter>
>
> <module ref="rampart" />
> <module ref="addressing" />
> <module ref="sample-logging" />
>
> <wsp:Policy wsu:Id="UTOverTransport"
> 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:Basic128 />
> </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>xx.xx.PWCBHandler</ramp:passwordCallbackClass>
> </ramp:RampartConfig>
> </wsp:All>
> </wsp:ExactlyOne>
> </wsp:Policy>
> </service>
>
> Thanks,
> Ram.
>
>


-- 
Suresh Attanayake

Blog : http://sureshatt.blogspot.com/
LinkedIn : http://www.linkedin.com/pub/suresh-attanayake/16/165/181
Twitter : http://twitter.com/sureshatt