Hi All,

I have successfully implementing Axis2 web service with WS-Security only and
WS-RM only (not integrated yet).
Today, I've tried to implement Axis2 1.3 web service with
WS-Security(Rampart) and Reliable Messaging Support (Sandesha2) but have no
luck due to "Missing Timestamp" error when invoking RM CreateSequence.
The real message is encrypted and successfully processed after
CreateSequence but the client repeat therequest and never terminated (not
sure, never wait, maybe there is timeout).

Here is the CreateSequence request:
----------------------------------------------------

POST /axis2/services/CreateApplicationInitiatorSOAPService?wsdl HTTP/1.1
Content-Type: application/soap+xml; charset=UTF-8; action="
http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence";
User-Agent: Axis2
Host: 127.0.0.1:8888
Transfer-Encoding: chunked

36e
<?xml version='1.0' encoding='UTF-8'?>
   <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/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";
soapenv:mustUnderstand="true" />
         <wsa:To>
http://localhost:8888/axis2/services/CreateApplicationInitiatorSOAPService?wsdl
</wsa:To>

<wsa:MessageID>urn:uuid:5B6ECBFB9B01F9184A1196349989655</wsa:MessageID>
         <wsa:Action>http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence
</wsa:Action>
      </soapenv:Header>
      <soapenv:Body>
         <wsrm:CreateSequence xmlns:wsrm="
http://schemas.xmlsoap.org/ws/2005/02/rm";>
            <wsrm:AcksTo>
               <wsa:Address xmlns:wsa="http://www.w3.org/2005/08/addressing
">http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
            </wsrm:AcksTo>
         </wsrm:CreateSequence>
      </soapenv:Body>
   </soapenv:Envelope>0



And the response:
--------------------------

HTTP/1.1 500 Internal Server Error
Server: Apache-Coyote/1.1
Content-Type: application/soap+xml; action="
http://www.w3.org/2005/08/addressing/soap/fault";charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 29 Nov 2007 15:26:30 GMT
Connection: close

aff
<?xml version='1.0' encoding='UTF-8'?>
   <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope
">
      <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing";>
         <wsa:Action>http://www.w3.org/2005/08/addressing/soap/fault
</wsa:Action>

<wsa:RelatesTo>urn:uuid:5B6ECBFB9B01F9184A1196349989655</wsa:RelatesTo>
      </soapenv:Header>
      <soapenv:Body>
         <soapenv:Fault>
            <soapenv:Code>
               <soapenv:Value>soapenv:Receiver</soapenv:Value>
            </soapenv:Code>
            <soapenv:Reason>
               <soapenv:Text xml:lang="en-US">Missing
Timestamp</soapenv:Text>
            </soapenv:Reason>
            <soapenv:Detail>
               <Exception>org.apache.axis2.AxisFault: Missing Timestamp at
org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92) at
org.apache.axis2.engine.Phase.invoke(Phase.java:292) at
org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:235) at
org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:135) at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(
HTTPTransportUtils.java:275) at
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:121) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:252) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:173) at
org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:213) at
org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:178) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:126) at org.apache.catalina.valves.ErrorReportValve.invoke(
ErrorReportValve.java:105) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:107) at org.apache.catalina.connector.CoyoteAdapter.service(
CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(
Http11Processor.java:869) at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
(Http11BaseProtocol.java:664) at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
PoolTcpEndpoint.java:527) at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
LeaderFollowerWorkerThread.java:80) at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
ThreadPool.java:684) at java.lang.Thread.run(Thread.java:613)Caused by:
org.apache.rampart.RampartException: Missing Timestamp at
org.apache.rampart.PolicyBasedResultsValidator.validate(
PolicyBasedResultsValidator.java:68) at
org.apache.rampart.RampartEngine.process(RampartEngine.java:192) at
org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:85) ...
21 more</Exception>
            </soapenv:Detail>
         </soapenv:Fault>
      </soapenv:Body>
   </soapenv:Envelope>
0



I have search on google, and found some article that there is some hack to
integrate Rampart & Sandesha2, but I'm not really clear.
Is this configuration problem or something else?
I would appreciate if someone help me out with this problem.

Regards,
Sukma

Reply via email to