You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Graeme Hill <Gr...@empired.com> on 2016/04/11 07:46:39 UTC

WS-RM : Server sending LastMessage for SourceSequence termination back to itself.

We have recently identified an issue with the WS-RM LastMessage event on a WS-RM Endpoint termination sending the LastMessage xml back onto itself. e.g. server A instead of sending LastMessage to Client A sends the transaction back to its own Server Endpoint Address..

The scenario is a WS-RM transaction using request/response so the source message contains a sequence and the response message contains a sequence also. The sequence in the response is the sequence offered by the client in the CreateSequence request as per the WS-RM specification.

SInce the LastMessage isnt sent properly, the client doesn't reset any sequences and when the server is started again all subsequent sequence id are considered invalid. Since the sequences don't expire the client will always use the same sequence until told otherwise.

Ws-RM doesn't have any specfic client config.

I cannot include the WSDL as it's commercially sensistive. It does however provide a request response pattern:

    <wsdl:binding name="xxxBinding" type="tns:xxxx">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
        <wsaw:UsingAddressing wsdl:required="true"/>
        <wsp:PolicyReference URI="#UnifiedMessaging_Policy" />
        <wsdl:operation name="xxxxxxx">
            <soap:operation soapAction="http://xxxxxxxx" style="document" />
            <wsdl:input name="xxxxxRequest">
                <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" />
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>


Server source policy config:
                <wsrm-mgr:sourcePolicy includeOffer="false" sequenceExpiration="PT0S">
                    <wsrm-mgr:sequenceTerminationPolicy terminateOnShutdown="true" />
                </wsrm-mgr:sourcePolicy>

Server WSDL Assertion:
            <wsrmp:RMAssertion>
                <wsrmp:BaseRetransmissionInterval Milliseconds="10000" />
                <wsrmp:AcknowledgementInterval Milliseconds="5000" />
            </wsrmp:RMAssertion>

The platform is JBoss Fuse 6.1 which contains cxf 2.7.0

Has anyone else seen this scenario ? It seems like request/response with offers seems to be a rare use pattern.

Some XML examples of the WS-RM transaction

ID: 1
Address: https://10.15.2.10:9001/cxf/service
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml; charset=UTF-8
Headers: {Accept=[*/*], Cache-Control=[no-cache], connection=[keep-alive], Content-Length=[1534], content-type=[text/xml; charset=UTF-8], Host=[10.15.2.10:9001], Pragma=[no-cache], SOAPAction=["http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence"], User-Agent=[Apache CXF 2.7.0.redhat-610379]}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</Action>
<MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</MessageID>
<To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">https://10.15.2.10:9001/cxf/service</To>
<ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
<Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
</ReplyTo>
<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" soap:mustUnderstand="1">
<wsse:UsernameToken wsu:Id="UsernameToken-65B958CE914DA0512E14593984175601">
<wsse:Username>xxx</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">yyyy</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
<soap:Body>
<CreateSequence xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm" xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
<AcksTo>
<ns2:Address>http://10.2.122.92:9990/decoupled_endpoint</ns2:Address>
</AcksTo>
<Expires>PT0S</Expires>
<Offer>
<Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</Identifier>
<Expires>PT0S</Expires>
</Offer>
</CreateSequence>
</soap:Body>
</soap:Envelope>
--------------------------------------

ID: 1
Response-Code: 202
Encoding: UTF-8
Content-Type: text/xml
Headers: {}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:3ca0fb2f-8a6d-4848-92d2-df7ae0be7efb</MessageID>
<To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
<RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
</soap:Header>
<soap:Body/>
</soap:Envelope>

Outbound Message TO SOAP CLIENT
---------------------------
ID: 1
Address: http://10.2.122.92:9990/decoupled_endpoint
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml
Headers: {Accept=[*/*]}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</Action>
<MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:1d262900-74e4-4700-be70-6d9dfd48122b</MessageID>
<To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://10.2.122.92:9990/decoupled_endpoint</To>
<RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</RelatesTo>
<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" soap:mustUnderstand="1">
<wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-5A6B2E8551939059E514593984185241">
<wsse:Username>xxxxx</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">yyyyyy</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
<soap:Body>
<CreateSequenceResponse xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm" xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
<Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</Identifier>
<Expires>PT0S</Expires>
<Accept>
<AcksTo>
<ns2:Address>https://10.15.2.10:9001/cxf/service</ns2:Address>
</AcksTo>
</Accept>
</CreateSequenceResponse>
</soap:Body>
</soap:Envelope>
--------------------------------------

Inbound Message FROM SOAP CLIENT
----------------------------
ID: 2
Address: https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml; charset=UTF-8
Headers: {Accept=[*/*], Cache-Control=[no-cache], connection=[keep-alive], content-type=[text/xml; charset=UTF-8], Host=[10.15.2.10:9001], Pragma=[no-cache], SOAPAction=["http://xxxxxxxxxxx], transfer-encoding=[chunked], User-Agent=[Apache CXF 2.7.0.redhat-610379]}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://xxxxxxxxxxx</Action>
<MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</MessageID>
<To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">https://10.15.2.10:9001/cxf/service</To>
<ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
<Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
</ReplyTo>
<wsrm:Sequence xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm" soap:mustUnderstand="1">
<wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:Identifier>
<wsrm:MessageNumber>1</wsrm:MessageNumber>
</wsrm:Sequence>
<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" soap:mustUnderstand="1">
<wsse:UsernameToken wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
<wsse:Username>xxxxx</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">yyyyy</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
<soap:Body>
<WSDL INPUT BODY MESSAGE/>
</soap:Body>
</soap:Envelope>
--------------------------------------

Outbound Message TO SOAP CLIENT
---------------------------
ID: 2
Response-Code: 202
Encoding: UTF-8
Content-Type: text/xml
Headers: {}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:0bc725e1-534d-4653-9f16-2ea02a0657f4</MessageID>
<To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
<RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
</soap:Header>
<soap:Body/>
</soap:Envelope>
--------------------------------------

Outbound Message TO SOAP CLIENT
---------------------------
ID: 2
Address: http://10.2.122.92:9990/decoupled_endpoint
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml
Headers: {Accept=[*/*], breadcrumbId=[ID-fuse1-37687-1459398351533-0-1], Host=[10.15.2.10:9001], SOAPAction=[http://xxxxx], startTime=[1459398418701], successful=[true], User-Agent=[Apache CXF 2.7.0.redhat-610379]}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://xxxxxxxxxxxx</Action>
<MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:851099ff-7cae-4f3b-9656-bcf1e4119913</MessageID>
<To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://10.2.122.92:9990/decoupled_endpoint</To>
<RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</RelatesTo>
<wsrm:Sequence xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm" soap:mustUnderstand="1">
<wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:Identifier>
<wsrm:MessageNumber>1</wsrm:MessageNumber>
</wsrm:Sequence>
<wsrm:SequenceAcknowledgement xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm">
<wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:Identifier>
<wsrm:AcknowledgementRange Lower="1" Upper="1"/>
</wsrm:SequenceAcknowledgement>
<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" soap:mustUnderstand="1">
<wsse:UsernameToken wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
<wsse:Username>xxxx</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">yyyyyyy</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
<soap:Body>
<WSDL OUTPUT BODY MESSAGE>
</soap:Body>
</soap:Envelope>
--------------------------------------

Output Message TO CLIENT
----------------------------
ID: 4
Address: https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml; charset=UTF-8
Headers: {Accept=[*/*], Cache-Control=[no-cache], connection=[keep-alive], Content-Length=[1339], content-type=[text/xml; charset=UTF-8], Host=[10.15.2.10:9001], Pragma=[no-cache], SOAPAction=["http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement"], User-Agent=[Apache CXF 2.7.0.redhat-610379]}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</Action>
<MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:19ec4cd7-d0ad-43ce-b94c-dee5f4e8d1b2</MessageID>
<To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">https://10.15.2.10:9001/cxf/service</To>
<wsrm:SequenceAcknowledgement xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm">
<wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:Identifier>
<wsrm:AcknowledgementRange Lower="1" Upper="1"/>
</wsrm:SequenceAcknowledgement>
<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" soap:mustUnderstand="1">
<wsse:UsernameToken wsu:Id="UsernameToken-65B958CE914DA0512E14593984199953">
<wsse:Username>xxxxx</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">yyyyyyyyyyy</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
<soap:Body/>
</soap:Envelope>
--------------------------------------


ID: 4
Response-Code: 202
Encoding: UTF-8
Content-Type: text/xml
Headers: {}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:d3478830-e787-4562-8429-6b87919e5f36</MessageID>
<To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
<RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
</soap:Header>
<soap:Body/>
</soap:Envelope>
--------------------------------------

System is now shutdown


Outbound Message To client is instead sent from server to itself
---------------------------
ID: 5
Address: https://10.15.2.10:9001/cxf/service
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml
Headers: {Accept=[*/*], SOAPAction=["http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage"]}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</Action>
<MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:f7f4fd64-2ade-425a-b32a-27457fb0e8bd</MessageID>
<To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">https://10.15.2.10:9001/cxf/service</To>
<wsrm:Sequence xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm" soap:mustUnderstand="1">
<wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:Identifier>
<wsrm:MessageNumber>2</wsrm:MessageNumber>
<wsrm:LastMessage/>
</wsrm:Sequence>
<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" soap:mustUnderstand="1">
<wsse:UsernameToken wsu:Id="UsernameToken-5A6B2E8551939059E514593987877012">
<wsse:Username>xxxxx</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">yyyyyyy</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
<soap:Body/>
</soap:Envelope>
--------------------------------------


RE: WS-RM : Server sending LastMessage for SourceSequence termination back to itself.

Posted by Graeme Hill <Gr...@empired.com>.
My next question would be :

Does the ws-rm persistence layer fully support request/response sequence persistence or only oneway sequence persistence ?

________________________________________
From: Graeme Hill [Graeme.Hill@empired.com]
Sent: 19 April 2016 10:08
To: users@cxf.apache.org
Subject: RE: WS-RM : Server sending LastMessage for SourceSequence termination back to itself.

On further investigation the issue has been narrowed down to the use of the persistence store via org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java.

If we remove the <wsrm-mgr:store> from the server blueprint the problem we were having no longer occurs i.e. lastMessage for the server held source sequence is sent back to the client instead of looping back to the server.


________________________________________
From: Graeme Hill [Graeme.Hill@empired.com]
Sent: 18 April 2016 16:17
To: users@cxf.apache.org
Subject: RE: WS-RM : Server sending LastMessage for SourceSequence termination back to itself.

Thanks Aki.

The major differences between the demos and our actual use:

1) We are using a WS-RM persistence store ported from org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java
2) All of our incoming requests/responses use WS-Security headers

We suspect the issue possibly lies within there or something else unique about the implementation.

At the moment 1) is the prime suspect so after we run the demos we will run without a persistence store to see if the problem disappears.

Thanks again for your assistance.

________________________________________
From: Aki Yoshida [elakito@gmail.com]
Sent: 18 April 2016 16:05
To: users@cxf.apache.org
Subject: Re: WS-RM : Server sending LastMessage for SourceSequence termination back to itself.

Hi Graeme,
You can apply the same modification (http://pastebin.com/BwTGt9qC) that I
applied to cxf-2.7.x's ws_rm sample to cxf-2.7.0's ws_rm sample to trigger
the server termination to see if there is a difference between the latest
2.7.x and 2.7.0. If none, something else is causing the strange behavior in
your setup.

regards, aki

2016-04-17 11:07 GMT+02:00 Graeme Hill <Gr...@empired.com>:

> Thanks Aki.
>
> We suspect a later version may assist but since we are running in a RedHat
> Fuse container we cannot easily swap out the OSGI bundles for cxf ws-rm and
> replace them with another.  I've gone through differences in the source
> between 2.7.0 and later versions but nothing jumps out.
>
> Thanks for the confirmation though. I'll investigate a partial upgrade or
> a jump to a later Fuse version.
>
> -----Original Message-----
> From: Aki Yoshida [mailto:elakito@gmail.com]
> Sent: Friday, 15 April 2016 9:09 PM
> To: users@cxf.apache.org
> Subject: Re: WS-RM : Server sending LastMessage for SourceSequence
> termination back to itself.
>
> I just ran CXF 2.7.x's ws_rm sample with some modification so that the
> client invokes greetMe twice and the server is set to terminate on shutdown.
> And in this setup, I see in the sejrver's log that the last message is
> successfully sent from the terminating server to the client and the client
> is acknowledging this message.
> INFO: Sending out-of-band RM protocol message {
> http://schemas.xmlsoap.org/ws/2005/02/rm}CloseSequence.
> Apr 15, 2016 2:50:27 PM
> org.apache.cxf.services.GreeterService.GreeterPort.Greeter
> INFO: Outbound Message
> ---------------------------
> ID: 6
> Address: http://localhost:9990/decoupled_endpoint
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml
> Headers: {Accept=[*/*], SOAPAction=["
> http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage"]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><Action xmlns="
> http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</Action><MessageID
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:7a24fdb9-78fd-4499-8d8b-56d32731447d</MessageID><To
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://localhost:9990/decoupled_endpoint</To><wsrm:Sequence
> soap:mustUnderstand="1" xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> http://schemas.xmlsoap.org/ws/2005/02/rm
>
> "><wsrm:Identifier>urn:uuid:4f63d726-ec00-4dda-95cd-c3e6be8392c8</wsrm:Identifier><wsrm:MessageNumber>3</wsrm:MessageNumber><wsrm:LastMessage/></wsrm:Sequence></soap:Header><soap:Body/></soap:Envelope>
> --------------------------------------
> Apr 15, 2016 2:50:27 PM
> org.apache.cxf.services.GreeterService.GreeterPort.Greeter
> INFO: Inbound Message
> ----------------------------
> ID: 7
> Address: http://localhost:9000/SoapContext/GreeterPort
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml; charset=UTF-8
> Headers: {Accept=[*/*], Cache-Control=[no-cache], connection=[keep-alive],
> Content-Length=[803], content-type=[text/xml; charset=UTF-8],
> Host=[localhost:9000], Pragma=[no-cache], SOAPAction=["
> http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement"],
> User-Agent=[Apache CXF
> 2.7.19-SNAPSHOT-880f8263c732f57503121325096394103799f217]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><Action xmlns="
> http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement
> </Action><MessageID
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:c6eaac49-1300-4015-b11c-bef0700d6272</MessageID><To
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://localhost:9000/SoapContext/GreeterPort
> </To><wsrm:SequenceAcknowledgement
> xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> http://schemas.xmlsoap.org/ws/2005/02/rm
> "><wsrm:Identifier>urn:uuid:4f63d726-ec00-4dda-95cd-c3e6be8392c8</wsrm:Identifier><wsrm:AcknowledgementRange
> Lower="1"
>
> Upper="3"/></wsrm:SequenceAcknowledgement></soap:Header><soap:Body/></soap:Envelope>
>
> so the problem that you described may not be present in a newer 2.7.x than
> your 2.7.0.
>
> regards, aki
>
>
>
> 2016-04-11 7:46 GMT+02:00 Graeme Hill <Gr...@empired.com>:
>
> > We have recently identified an issue with the WS-RM LastMessage event
> > on a WS-RM Endpoint termination sending the LastMessage xml back onto
> itself.
> > e.g. server A instead of sending LastMessage to Client A sends the
> > transaction back to its own Server Endpoint Address..
> >
> > The scenario is a WS-RM transaction using request/response so the
> > source message contains a sequence and the response message contains a
> > sequence also. The sequence in the response is the sequence offered by
> > the client in the CreateSequence request as per the WS-RM specification.
> >
> > SInce the LastMessage isnt sent properly, the client doesn't reset any
> > sequences and when the server is started again all subsequent sequence
> > id are considered invalid. Since the sequences don't expire the client
> > will always use the same sequence until told otherwise.
> >
> > Ws-RM doesn't have any specfic client config.
> >
> > I cannot include the WSDL as it's commercially sensistive. It does
> > however provide a request response pattern:
> >
> >     <wsdl:binding name="xxxBinding" type="tns:xxxx">
> >         <soap:binding style="document" transport="
> > http://schemas.xmlsoap.org/soap/http" />
> >         <wsaw:UsingAddressing wsdl:required="true"/>
> >         <wsp:PolicyReference URI="#UnifiedMessaging_Policy" />
> >         <wsdl:operation name="xxxxxxx">
> >             <soap:operation soapAction="http://xxxxxxxx"
> style="document"
> > />
> >             <wsdl:input name="xxxxxRequest">
> >                 <soap:body use="literal" />
> >             </wsdl:input>
> >             <wsdl:output>
> >                 <soap:body use="literal" />
> >             </wsdl:output>
> >         </wsdl:operation>
> >     </wsdl:binding>
> >
> >
> > Server source policy config:
> >                 <wsrm-mgr:sourcePolicy includeOffer="false"
> > sequenceExpiration="PT0S">
> >                     <wsrm-mgr:sequenceTerminationPolicy
> > terminateOnShutdown="true" />
> >                 </wsrm-mgr:sourcePolicy>
> >
> > Server WSDL Assertion:
> >             <wsrmp:RMAssertion>
> >                 <wsrmp:BaseRetransmissionInterval Milliseconds="10000" />
> >                 <wsrmp:AcknowledgementInterval Milliseconds="5000" />
> >             </wsrmp:RMAssertion>
> >
> > The platform is JBoss Fuse 6.1 which contains cxf 2.7.0
> >
> > Has anyone else seen this scenario ? It seems like request/response
> > with offers seems to be a rare use pattern.
> >
> > Some XML examples of the WS-RM transaction
> >
> > ID: 1
> > Address: https://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml; charset=UTF-8
> > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> > connection=[keep-alive], Content-Length=[1534],
> > content-type=[text/xml; charset=UTF-8], Host=[ 10.15.2.10:9001],
> Pragma=[no-cache], SOAPAction=["
> > http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence"],
> > User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
> > </ReplyTo>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984175601">
> > <wsse:Username>xxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <CreateSequence xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <AcksTo>
> > <ns2:Address>http://10.2.122.92:9990/decoupled_endpoint</ns2:Address>
> > </AcksTo>
> > <Expires>PT0S</Expires>
> > <Offer>
> > <Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</Identifier>
> > <Expires>PT0S</Expires>
> > </Offer>
> > </CreateSequence>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > ID: 1
> > Response-Code: 202
> > Encoding: UTF-8
> > Content-Type: text/xml
> > Headers: {}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:3ca0fb2f-8a6d-4848-92d2-df7ae0be7efb</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> >
> > Outbound Message TO SOAP CLIENT
> > ---------------------------
> > ID: 1
> > Address: http://10.2.122.92:9990/decoupled_endpoint
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml
> > Headers: {Accept=[*/*]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</Actio
> > n> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:1d262900-74e4-4700-be70-6d9dfd48122b</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://10.2.122.92:9990/decoupled_endpoint</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</RelatesTo>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken xmlns:wsu="
> >
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
> "
> > wsu:Id="UsernameToken-5A6B2E8551939059E514593984185241">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <CreateSequenceResponse xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</Identifier>
> > <Expires>PT0S</Expires>
> > <Accept>
> > <AcksTo>
> > <ns2:Address>https://10.15.2.10:9001/cxf/service</ns2:Address>
> > </AcksTo>
> > </Accept>
> > </CreateSequenceResponse>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Inbound Message FROM SOAP CLIENT
> > ----------------------------
> > ID: 2
> > Address:
> > https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml; charset=UTF-8
> > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> > connection=[keep-alive], content-type=[text/xml; charset=UTF-8],
> > Host=[10.15.2.10:9001], Pragma=[no-cache],
> > SOAPAction=["http://xxxxxxxxxxx], transfer-encoding=[chunked],
> > User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://xxxxxxxxxxx</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
> > </ReplyTo>
> > <wsrm:Sequence xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > soap:mustUnderstand="1">
> >
> > <wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:I
> > dentifier> <wsrm:MessageNumber>1</wsrm:MessageNumber>
> > </wsrm:Sequence>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <WSDL INPUT BODY MESSAGE/>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Outbound Message TO SOAP CLIENT
> > ---------------------------
> > ID: 2
> > Response-Code: 202
> > Encoding: UTF-8
> > Content-Type: text/xml
> > Headers: {}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:0bc725e1-534d-4653-9f16-2ea02a0657f4</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Outbound Message TO SOAP CLIENT
> > ---------------------------
> > ID: 2
> > Address: http://10.2.122.92:9990/decoupled_endpoint
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml
> > Headers: {Accept=[*/*],
> > breadcrumbId=[ID-fuse1-37687-1459398351533-0-1],
> > Host=[10.15.2.10:9001], SOAPAction=[http://xxxxx],
> > startTime=[1459398418701], successful=[true], User-Agent=[Apache CXF
> > 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://xxxxxxxxxxxx</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:851099ff-7cae-4f3b-9656-bcf1e4119913</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://10.2.122.92:9990/decoupled_endpoint</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</RelatesTo>
> > <wsrm:Sequence xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > soap:mustUnderstand="1">
> >
> > <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> > dentifier> <wsrm:MessageNumber>1</wsrm:MessageNumber>
> > </wsrm:Sequence>
> > <wsrm:SequenceAcknowledgement xmlns:ns2="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> > http://schemas.xmlsoap.org/ws/2005/02/rm">
> >
> > <wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:I
> > dentifier> <wsrm:AcknowledgementRange Lower="1" Upper="1"/>
> > </wsrm:SequenceAcknowledgement> <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
> > <wsse:Username>xxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <WSDL OUTPUT BODY MESSAGE>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Output Message TO CLIENT
> > ----------------------------
> > ID: 4
> > Address:
> > https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml; charset=UTF-8
> > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> > connection=[keep-alive], Content-Length=[1339],
> > content-type=[text/xml; charset=UTF-8], Host=[ 10.15.2.10:9001],
> Pragma=[no-cache], SOAPAction=["
> > http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement"],
> > User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</Acti
> > on> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:19ec4cd7-d0ad-43ce-b94c-dee5f4e8d1b2</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <wsrm:SequenceAcknowledgement xmlns:ns2="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> > http://schemas.xmlsoap.org/ws/2005/02/rm">
> >
> > <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> > dentifier> <wsrm:AcknowledgementRange Lower="1" Upper="1"/>
> > </wsrm:SequenceAcknowledgement> <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984199953">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyyyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> >
> > ID: 4
> > Response-Code: 202
> > Encoding: UTF-8
> > Content-Type: text/xml
> > Headers: {}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:d3478830-e787-4562-8429-6b87919e5f36</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> > System is now shutdown
> >
> >
> > Outbound Message To client is instead sent from server to itself
> > ---------------------------
> > ID: 5
> > Address: https://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml
> > Headers: {Accept=[*/*], SOAPAction=["
> > http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage"]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:f7f4fd64-2ade-425a-b32a-27457fb0e8bd</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <wsrm:Sequence xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > soap:mustUnderstand="1">
> >
> > <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> > dentifier> <wsrm:MessageNumber>2</wsrm:MessageNumber>
> > <wsrm:LastMessage/>
> > </wsrm:Sequence>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-5A6B2E8551939059E514593987877012">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> >
>

Re: WS-RM : Server sending LastMessage for SourceSequence termination back to itself.

Posted by Aki Yoshida <el...@gmail.com>.
Hi Graeme,

but i am not seeing the problem with cxf's sample when i added derby
dependency and enabling the store as follows.
pom.xml
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derby</artifactId>
+            <version>10.8.2.2</version>
+        </dependency>

client.xml
                 </wsrm-mgr:destinationPolicy>
+                <wsrm-mgr:store>
+                   <ref bean="testStore"/>
+                </wsrm-mgr:store>
+

+    <wsrm-mgr:jdbcStore id="testStore"
url="jdbc:derby:rmdb-client;create=true"/>

server.xml
                 </wsrm-mgr:destinationPolicy>
+                <wsrm-mgr:store>
+                   <ref bean="testStore"/>
+                </wsrm-mgr:store>
+

+    <wsrm-mgr:jdbcStore id="testStore"
url="jdbc:derby:rmdb-server;create=true"/>

the server is sending the last message to the client' decoupled endpoint
and not to itself.

could it be that your configuration has some naming collision of some sort
that might be causing this issue? are they running on separate instances?
regards, aki


2016-04-19 4:08 GMT+02:00 Graeme Hill <Gr...@empired.com>:

> On further investigation the issue has been narrowed down to the use of
> the persistence store via
> org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java.
>
> If we remove the <wsrm-mgr:store> from the server blueprint the problem we
> were having no longer occurs i.e. lastMessage for the server held source
> sequence is sent back to the client instead of looping back to the server.
>
>
> ________________________________________
> From: Graeme Hill [Graeme.Hill@empired.com]
> Sent: 18 April 2016 16:17
> To: users@cxf.apache.org
> Subject: RE: WS-RM : Server sending LastMessage for SourceSequence
> termination back to itself.
>
> Thanks Aki.
>
> The major differences between the demos and our actual use:
>
> 1) We are using a WS-RM persistence store ported from
> org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java
> 2) All of our incoming requests/responses use WS-Security headers
>
> We suspect the issue possibly lies within there or something else unique
> about the implementation.
>
> At the moment 1) is the prime suspect so after we run the demos we will
> run without a persistence store to see if the problem disappears.
>
> Thanks again for your assistance.
>
> ________________________________________
> From: Aki Yoshida [elakito@gmail.com]
> Sent: 18 April 2016 16:05
> To: users@cxf.apache.org
> Subject: Re: WS-RM : Server sending LastMessage for SourceSequence
> termination back to itself.
>
> Hi Graeme,
> You can apply the same modification (http://pastebin.com/BwTGt9qC) that I
> applied to cxf-2.7.x's ws_rm sample to cxf-2.7.0's ws_rm sample to trigger
> the server termination to see if there is a difference between the latest
> 2.7.x and 2.7.0. If none, something else is causing the strange behavior in
> your setup.
>
> regards, aki
>
> 2016-04-17 11:07 GMT+02:00 Graeme Hill <Gr...@empired.com>:
>
> > Thanks Aki.
> >
> > We suspect a later version may assist but since we are running in a
> RedHat
> > Fuse container we cannot easily swap out the OSGI bundles for cxf ws-rm
> and
> > replace them with another.  I've gone through differences in the source
> > between 2.7.0 and later versions but nothing jumps out.
> >
> > Thanks for the confirmation though. I'll investigate a partial upgrade or
> > a jump to a later Fuse version.
> >
> > -----Original Message-----
> > From: Aki Yoshida [mailto:elakito@gmail.com]
> > Sent: Friday, 15 April 2016 9:09 PM
> > To: users@cxf.apache.org
> > Subject: Re: WS-RM : Server sending LastMessage for SourceSequence
> > termination back to itself.
> >
> > I just ran CXF 2.7.x's ws_rm sample with some modification so that the
> > client invokes greetMe twice and the server is set to terminate on
> shutdown.
> > And in this setup, I see in the sejrver's log that the last message is
> > successfully sent from the terminating server to the client and the
> client
> > is acknowledging this message.
> > INFO: Sending out-of-band RM protocol message {
> > http://schemas.xmlsoap.org/ws/2005/02/rm}CloseSequence.
> > Apr 15, 2016 2:50:27 PM
> > org.apache.cxf.services.GreeterService.GreeterPort.Greeter
> > INFO: Outbound Message
> > ---------------------------
> > ID: 6
> > Address: http://localhost:9990/decoupled_endpoint
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml
> > Headers: {Accept=[*/*], SOAPAction=["
> > http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage"]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><Action xmlns="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</Action><MessageID
> > xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:7a24fdb9-78fd-4499-8d8b-56d32731447d</MessageID><To
> > xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://localhost:9990/decoupled_endpoint</To><wsrm:Sequence
> > soap:mustUnderstand="1" xmlns:ns2="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> > http://schemas.xmlsoap.org/ws/2005/02/rm
> >
> >
> "><wsrm:Identifier>urn:uuid:4f63d726-ec00-4dda-95cd-c3e6be8392c8</wsrm:Identifier><wsrm:MessageNumber>3</wsrm:MessageNumber><wsrm:LastMessage/></wsrm:Sequence></soap:Header><soap:Body/></soap:Envelope>
> > --------------------------------------
> > Apr 15, 2016 2:50:27 PM
> > org.apache.cxf.services.GreeterService.GreeterPort.Greeter
> > INFO: Inbound Message
> > ----------------------------
> > ID: 7
> > Address: http://localhost:9000/SoapContext/GreeterPort
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml; charset=UTF-8
> > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> connection=[keep-alive],
> > Content-Length=[803], content-type=[text/xml; charset=UTF-8],
> > Host=[localhost:9000], Pragma=[no-cache], SOAPAction=["
> > http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement"],
> > User-Agent=[Apache CXF
> > 2.7.19-SNAPSHOT-880f8263c732f57503121325096394103799f217]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><Action xmlns="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement
> > </Action><MessageID
> > xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:c6eaac49-1300-4015-b11c-bef0700d6272</MessageID><To
> > xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://localhost:9000/SoapContext/GreeterPort
> > </To><wsrm:SequenceAcknowledgement
> > xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing"
> xmlns:wsrm="
> > http://schemas.xmlsoap.org/ws/2005/02/rm
> >
> "><wsrm:Identifier>urn:uuid:4f63d726-ec00-4dda-95cd-c3e6be8392c8</wsrm:Identifier><wsrm:AcknowledgementRange
> > Lower="1"
> >
> >
> Upper="3"/></wsrm:SequenceAcknowledgement></soap:Header><soap:Body/></soap:Envelope>
> >
> > so the problem that you described may not be present in a newer 2.7.x
> than
> > your 2.7.0.
> >
> > regards, aki
> >
> >
> >
> > 2016-04-11 7:46 GMT+02:00 Graeme Hill <Gr...@empired.com>:
> >
> > > We have recently identified an issue with the WS-RM LastMessage event
> > > on a WS-RM Endpoint termination sending the LastMessage xml back onto
> > itself.
> > > e.g. server A instead of sending LastMessage to Client A sends the
> > > transaction back to its own Server Endpoint Address..
> > >
> > > The scenario is a WS-RM transaction using request/response so the
> > > source message contains a sequence and the response message contains a
> > > sequence also. The sequence in the response is the sequence offered by
> > > the client in the CreateSequence request as per the WS-RM
> specification.
> > >
> > > SInce the LastMessage isnt sent properly, the client doesn't reset any
> > > sequences and when the server is started again all subsequent sequence
> > > id are considered invalid. Since the sequences don't expire the client
> > > will always use the same sequence until told otherwise.
> > >
> > > Ws-RM doesn't have any specfic client config.
> > >
> > > I cannot include the WSDL as it's commercially sensistive. It does
> > > however provide a request response pattern:
> > >
> > >     <wsdl:binding name="xxxBinding" type="tns:xxxx">
> > >         <soap:binding style="document" transport="
> > > http://schemas.xmlsoap.org/soap/http" />
> > >         <wsaw:UsingAddressing wsdl:required="true"/>
> > >         <wsp:PolicyReference URI="#UnifiedMessaging_Policy" />
> > >         <wsdl:operation name="xxxxxxx">
> > >             <soap:operation soapAction="http://xxxxxxxx"
> > style="document"
> > > />
> > >             <wsdl:input name="xxxxxRequest">
> > >                 <soap:body use="literal" />
> > >             </wsdl:input>
> > >             <wsdl:output>
> > >                 <soap:body use="literal" />
> > >             </wsdl:output>
> > >         </wsdl:operation>
> > >     </wsdl:binding>
> > >
> > >
> > > Server source policy config:
> > >                 <wsrm-mgr:sourcePolicy includeOffer="false"
> > > sequenceExpiration="PT0S">
> > >                     <wsrm-mgr:sequenceTerminationPolicy
> > > terminateOnShutdown="true" />
> > >                 </wsrm-mgr:sourcePolicy>
> > >
> > > Server WSDL Assertion:
> > >             <wsrmp:RMAssertion>
> > >                 <wsrmp:BaseRetransmissionInterval Milliseconds="10000"
> />
> > >                 <wsrmp:AcknowledgementInterval Milliseconds="5000" />
> > >             </wsrmp:RMAssertion>
> > >
> > > The platform is JBoss Fuse 6.1 which contains cxf 2.7.0
> > >
> > > Has anyone else seen this scenario ? It seems like request/response
> > > with offers seems to be a rare use pattern.
> > >
> > > Some XML examples of the WS-RM transaction
> > >
> > > ID: 1
> > > Address: https://10.15.2.10:9001/cxf/service
> > > Encoding: UTF-8
> > > Http-Method: POST
> > > Content-Type: text/xml; charset=UTF-8
> > > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> > > connection=[keep-alive], Content-Length=[1534],
> > > content-type=[text/xml; charset=UTF-8], Host=[ 10.15.2.10:9001],
> > Pragma=[no-cache], SOAPAction=["
> > > http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence"],
> > > User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> > > Payload: <soap:Envelope xmlns:soap="
> > > http://schemas.xmlsoap.org/soap/envelope/">
> > > <soap:Header>
> > > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</Action>
> > > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > > ">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</MessageID>
> > > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > https://10.15.2.10:9001/cxf/service</To>
> > > <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > <Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
> > > </ReplyTo>
> > > <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
> > "
> > > soap:mustUnderstand="1">
> > > <wsse:UsernameToken
> > > wsu:Id="UsernameToken-65B958CE914DA0512E14593984175601">
> > > <wsse:Username>xxx</wsse:Username>
> > > <wsse:Password Type="
> > > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > > -profile-1.0#PasswordText
> > > ">yyyy</wsse:Password>
> > > </wsse:UsernameToken>
> > > </wsse:Security>
> > > </soap:Header>
> > > <soap:Body>
> > > <CreateSequence xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > > xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > <AcksTo>
> > > <ns2:Address>http://10.2.122.92:9990/decoupled_endpoint</ns2:Address>
> > > </AcksTo>
> > > <Expires>PT0S</Expires>
> > > <Offer>
> > > <Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</Identifier>
> > > <Expires>PT0S</Expires>
> > > </Offer>
> > > </CreateSequence>
> > > </soap:Body>
> > > </soap:Envelope>
> > > --------------------------------------
> > >
> > > ID: 1
> > > Response-Code: 202
> > > Encoding: UTF-8
> > > Content-Type: text/xml
> > > Headers: {}
> > > Payload: <soap:Envelope xmlns:soap="
> > > http://schemas.xmlsoap.org/soap/envelope/">
> > > <soap:Header>
> > > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > > ">urn:uuid:3ca0fb2f-8a6d-4848-92d2-df7ae0be7efb</MessageID>
> > > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> > > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> > > </soap:Header>
> > > <soap:Body/>
> > > </soap:Envelope>
> > >
> > > Outbound Message TO SOAP CLIENT
> > > ---------------------------
> > > ID: 1
> > > Address: http://10.2.122.92:9990/decoupled_endpoint
> > > Encoding: UTF-8
> > > Http-Method: POST
> > > Content-Type: text/xml
> > > Headers: {Accept=[*/*]}
> > > Payload: <soap:Envelope xmlns:soap="
> > > http://schemas.xmlsoap.org/soap/envelope/">
> > > <soap:Header>
> > > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</Actio
> > > n> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > > ">urn:uuid:1d262900-74e4-4700-be70-6d9dfd48122b</MessageID>
> > > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > http://10.2.122.92:9990/decoupled_endpoint</To>
> > > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > > ">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</RelatesTo>
> > > <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
> > "
> > > soap:mustUnderstand="1">
> > > <wsse:UsernameToken xmlns:wsu="
> > >
> >
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
> > "
> > > wsu:Id="UsernameToken-5A6B2E8551939059E514593984185241">
> > > <wsse:Username>xxxxx</wsse:Username>
> > > <wsse:Password Type="
> > > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > > -profile-1.0#PasswordText
> > > ">yyyyyy</wsse:Password>
> > > </wsse:UsernameToken>
> > > </wsse:Security>
> > > </soap:Header>
> > > <soap:Body>
> > > <CreateSequenceResponse xmlns="
> http://schemas.xmlsoap.org/ws/2005/02/rm"
> > > xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > <Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</Identifier>
> > > <Expires>PT0S</Expires>
> > > <Accept>
> > > <AcksTo>
> > > <ns2:Address>https://10.15.2.10:9001/cxf/service</ns2:Address>
> > > </AcksTo>
> > > </Accept>
> > > </CreateSequenceResponse>
> > > </soap:Body>
> > > </soap:Envelope>
> > > --------------------------------------
> > >
> > > Inbound Message FROM SOAP CLIENT
> > > ----------------------------
> > > ID: 2
> > > Address:
> > > https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
> > > Encoding: UTF-8
> > > Http-Method: POST
> > > Content-Type: text/xml; charset=UTF-8
> > > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> > > connection=[keep-alive], content-type=[text/xml; charset=UTF-8],
> > > Host=[10.15.2.10:9001], Pragma=[no-cache],
> > > SOAPAction=["http://xxxxxxxxxxx], transfer-encoding=[chunked],
> > > User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> > > Payload: <soap:Envelope xmlns:soap="
> > > http://schemas.xmlsoap.org/soap/envelope/">
> > > <soap:Header>
> > > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > http://xxxxxxxxxxx</Action>
> > > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > > ">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</MessageID>
> > > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > https://10.15.2.10:9001/cxf/service</To>
> > > <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > <Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
> > > </ReplyTo>
> > > <wsrm:Sequence xmlns:ns2="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > > soap:mustUnderstand="1">
> > >
> > > <wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:I
> > > dentifier> <wsrm:MessageNumber>1</wsrm:MessageNumber>
> > > </wsrm:Sequence>
> > > <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
> > "
> > > soap:mustUnderstand="1">
> > > <wsse:UsernameToken
> > > wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
> > > <wsse:Username>xxxxx</wsse:Username>
> > > <wsse:Password Type="
> > > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > > -profile-1.0#PasswordText
> > > ">yyyyy</wsse:Password>
> > > </wsse:UsernameToken>
> > > </wsse:Security>
> > > </soap:Header>
> > > <soap:Body>
> > > <WSDL INPUT BODY MESSAGE/>
> > > </soap:Body>
> > > </soap:Envelope>
> > > --------------------------------------
> > >
> > > Outbound Message TO SOAP CLIENT
> > > ---------------------------
> > > ID: 2
> > > Response-Code: 202
> > > Encoding: UTF-8
> > > Content-Type: text/xml
> > > Headers: {}
> > > Payload: <soap:Envelope xmlns:soap="
> > > http://schemas.xmlsoap.org/soap/envelope/">
> > > <soap:Header>
> > > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > > ">urn:uuid:0bc725e1-534d-4653-9f16-2ea02a0657f4</MessageID>
> > > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> > > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> > > </soap:Header>
> > > <soap:Body/>
> > > </soap:Envelope>
> > > --------------------------------------
> > >
> > > Outbound Message TO SOAP CLIENT
> > > ---------------------------
> > > ID: 2
> > > Address: http://10.2.122.92:9990/decoupled_endpoint
> > > Encoding: UTF-8
> > > Http-Method: POST
> > > Content-Type: text/xml
> > > Headers: {Accept=[*/*],
> > > breadcrumbId=[ID-fuse1-37687-1459398351533-0-1],
> > > Host=[10.15.2.10:9001], SOAPAction=[http://xxxxx],
> > > startTime=[1459398418701], successful=[true], User-Agent=[Apache CXF
> > > 2.7.0.redhat-610379]}
> > > Payload: <soap:Envelope xmlns:soap="
> > > http://schemas.xmlsoap.org/soap/envelope/">
> > > <soap:Header>
> > > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > http://xxxxxxxxxxxx</Action>
> > > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > > ">urn:uuid:851099ff-7cae-4f3b-9656-bcf1e4119913</MessageID>
> > > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > http://10.2.122.92:9990/decoupled_endpoint</To>
> > > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > > ">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</RelatesTo>
> > > <wsrm:Sequence xmlns:ns2="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > > soap:mustUnderstand="1">
> > >
> > > <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> > > dentifier> <wsrm:MessageNumber>1</wsrm:MessageNumber>
> > > </wsrm:Sequence>
> > > <wsrm:SequenceAcknowledgement xmlns:ns2="
> > > http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> > > http://schemas.xmlsoap.org/ws/2005/02/rm">
> > >
> > > <wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:I
> > > dentifier> <wsrm:AcknowledgementRange Lower="1" Upper="1"/>
> > > </wsrm:SequenceAcknowledgement> <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
> > "
> > > soap:mustUnderstand="1">
> > > <wsse:UsernameToken
> > > wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
> > > <wsse:Username>xxxx</wsse:Username>
> > > <wsse:Password Type="
> > > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > > -profile-1.0#PasswordText
> > > ">yyyyyyy</wsse:Password>
> > > </wsse:UsernameToken>
> > > </wsse:Security>
> > > </soap:Header>
> > > <soap:Body>
> > > <WSDL OUTPUT BODY MESSAGE>
> > > </soap:Body>
> > > </soap:Envelope>
> > > --------------------------------------
> > >
> > > Output Message TO CLIENT
> > > ----------------------------
> > > ID: 4
> > > Address:
> > > https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
> > > Encoding: UTF-8
> > > Http-Method: POST
> > > Content-Type: text/xml; charset=UTF-8
> > > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> > > connection=[keep-alive], Content-Length=[1339],
> > > content-type=[text/xml; charset=UTF-8], Host=[ 10.15.2.10:9001],
> > Pragma=[no-cache], SOAPAction=["
> > > http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement"],
> > > User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> > > Payload: <soap:Envelope xmlns:soap="
> > > http://schemas.xmlsoap.org/soap/envelope/">
> > > <soap:Header>
> > > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</Acti
> > > on> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > > ">urn:uuid:19ec4cd7-d0ad-43ce-b94c-dee5f4e8d1b2</MessageID>
> > > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > https://10.15.2.10:9001/cxf/service</To>
> > > <wsrm:SequenceAcknowledgement xmlns:ns2="
> > > http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> > > http://schemas.xmlsoap.org/ws/2005/02/rm">
> > >
> > > <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> > > dentifier> <wsrm:AcknowledgementRange Lower="1" Upper="1"/>
> > > </wsrm:SequenceAcknowledgement> <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
> > "
> > > soap:mustUnderstand="1">
> > > <wsse:UsernameToken
> > > wsu:Id="UsernameToken-65B958CE914DA0512E14593984199953">
> > > <wsse:Username>xxxxx</wsse:Username>
> > > <wsse:Password Type="
> > > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > > -profile-1.0#PasswordText
> > > ">yyyyyyyyyyy</wsse:Password>
> > > </wsse:UsernameToken>
> > > </wsse:Security>
> > > </soap:Header>
> > > <soap:Body/>
> > > </soap:Envelope>
> > > --------------------------------------
> > >
> > >
> > > ID: 4
> > > Response-Code: 202
> > > Encoding: UTF-8
> > > Content-Type: text/xml
> > > Headers: {}
> > > Payload: <soap:Envelope xmlns:soap="
> > > http://schemas.xmlsoap.org/soap/envelope/">
> > > <soap:Header>
> > > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > > ">urn:uuid:d3478830-e787-4562-8429-6b87919e5f36</MessageID>
> > > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> > > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> > > </soap:Header>
> > > <soap:Body/>
> > > </soap:Envelope>
> > > --------------------------------------
> > >
> > > System is now shutdown
> > >
> > >
> > > Outbound Message To client is instead sent from server to itself
> > > ---------------------------
> > > ID: 5
> > > Address: https://10.15.2.10:9001/cxf/service
> > > Encoding: UTF-8
> > > Http-Method: POST
> > > Content-Type: text/xml
> > > Headers: {Accept=[*/*], SOAPAction=["
> > > http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage"]}
> > > Payload: <soap:Envelope xmlns:soap="
> > > http://schemas.xmlsoap.org/soap/envelope/">
> > > <soap:Header>
> > > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</Action>
> > > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > > ">urn:uuid:f7f4fd64-2ade-425a-b32a-27457fb0e8bd</MessageID>
> > > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > > https://10.15.2.10:9001/cxf/service</To>
> > > <wsrm:Sequence xmlns:ns2="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > > soap:mustUnderstand="1">
> > >
> > > <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> > > dentifier> <wsrm:MessageNumber>2</wsrm:MessageNumber>
> > > <wsrm:LastMessage/>
> > > </wsrm:Sequence>
> > > <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
> > "
> > > soap:mustUnderstand="1">
> > > <wsse:UsernameToken
> > > wsu:Id="UsernameToken-5A6B2E8551939059E514593987877012">
> > > <wsse:Username>xxxxx</wsse:Username>
> > > <wsse:Password Type="
> > > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > > -profile-1.0#PasswordText
> > > ">yyyyyyy</wsse:Password>
> > > </wsse:UsernameToken>
> > > </wsse:Security>
> > > </soap:Header>
> > > <soap:Body/>
> > > </soap:Envelope>
> > > --------------------------------------
> > >
> > >
> >
>

RE: WS-RM : Server sending LastMessage for SourceSequence termination back to itself.

Posted by Graeme Hill <Gr...@empired.com>.
On further investigation the issue has been narrowed down to the use of the persistence store via org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java.

If we remove the <wsrm-mgr:store> from the server blueprint the problem we were having no longer occurs i.e. lastMessage for the server held source sequence is sent back to the client instead of looping back to the server.


________________________________________
From: Graeme Hill [Graeme.Hill@empired.com]
Sent: 18 April 2016 16:17
To: users@cxf.apache.org
Subject: RE: WS-RM : Server sending LastMessage for SourceSequence termination back to itself.

Thanks Aki.

The major differences between the demos and our actual use:

1) We are using a WS-RM persistence store ported from org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java
2) All of our incoming requests/responses use WS-Security headers

We suspect the issue possibly lies within there or something else unique about the implementation.

At the moment 1) is the prime suspect so after we run the demos we will run without a persistence store to see if the problem disappears.

Thanks again for your assistance.

________________________________________
From: Aki Yoshida [elakito@gmail.com]
Sent: 18 April 2016 16:05
To: users@cxf.apache.org
Subject: Re: WS-RM : Server sending LastMessage for SourceSequence termination back to itself.

Hi Graeme,
You can apply the same modification (http://pastebin.com/BwTGt9qC) that I
applied to cxf-2.7.x's ws_rm sample to cxf-2.7.0's ws_rm sample to trigger
the server termination to see if there is a difference between the latest
2.7.x and 2.7.0. If none, something else is causing the strange behavior in
your setup.

regards, aki

2016-04-17 11:07 GMT+02:00 Graeme Hill <Gr...@empired.com>:

> Thanks Aki.
>
> We suspect a later version may assist but since we are running in a RedHat
> Fuse container we cannot easily swap out the OSGI bundles for cxf ws-rm and
> replace them with another.  I've gone through differences in the source
> between 2.7.0 and later versions but nothing jumps out.
>
> Thanks for the confirmation though. I'll investigate a partial upgrade or
> a jump to a later Fuse version.
>
> -----Original Message-----
> From: Aki Yoshida [mailto:elakito@gmail.com]
> Sent: Friday, 15 April 2016 9:09 PM
> To: users@cxf.apache.org
> Subject: Re: WS-RM : Server sending LastMessage for SourceSequence
> termination back to itself.
>
> I just ran CXF 2.7.x's ws_rm sample with some modification so that the
> client invokes greetMe twice and the server is set to terminate on shutdown.
> And in this setup, I see in the sejrver's log that the last message is
> successfully sent from the terminating server to the client and the client
> is acknowledging this message.
> INFO: Sending out-of-band RM protocol message {
> http://schemas.xmlsoap.org/ws/2005/02/rm}CloseSequence.
> Apr 15, 2016 2:50:27 PM
> org.apache.cxf.services.GreeterService.GreeterPort.Greeter
> INFO: Outbound Message
> ---------------------------
> ID: 6
> Address: http://localhost:9990/decoupled_endpoint
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml
> Headers: {Accept=[*/*], SOAPAction=["
> http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage"]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><Action xmlns="
> http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</Action><MessageID
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:7a24fdb9-78fd-4499-8d8b-56d32731447d</MessageID><To
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://localhost:9990/decoupled_endpoint</To><wsrm:Sequence
> soap:mustUnderstand="1" xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> http://schemas.xmlsoap.org/ws/2005/02/rm
>
> "><wsrm:Identifier>urn:uuid:4f63d726-ec00-4dda-95cd-c3e6be8392c8</wsrm:Identifier><wsrm:MessageNumber>3</wsrm:MessageNumber><wsrm:LastMessage/></wsrm:Sequence></soap:Header><soap:Body/></soap:Envelope>
> --------------------------------------
> Apr 15, 2016 2:50:27 PM
> org.apache.cxf.services.GreeterService.GreeterPort.Greeter
> INFO: Inbound Message
> ----------------------------
> ID: 7
> Address: http://localhost:9000/SoapContext/GreeterPort
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml; charset=UTF-8
> Headers: {Accept=[*/*], Cache-Control=[no-cache], connection=[keep-alive],
> Content-Length=[803], content-type=[text/xml; charset=UTF-8],
> Host=[localhost:9000], Pragma=[no-cache], SOAPAction=["
> http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement"],
> User-Agent=[Apache CXF
> 2.7.19-SNAPSHOT-880f8263c732f57503121325096394103799f217]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><Action xmlns="
> http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement
> </Action><MessageID
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:c6eaac49-1300-4015-b11c-bef0700d6272</MessageID><To
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://localhost:9000/SoapContext/GreeterPort
> </To><wsrm:SequenceAcknowledgement
> xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> http://schemas.xmlsoap.org/ws/2005/02/rm
> "><wsrm:Identifier>urn:uuid:4f63d726-ec00-4dda-95cd-c3e6be8392c8</wsrm:Identifier><wsrm:AcknowledgementRange
> Lower="1"
>
> Upper="3"/></wsrm:SequenceAcknowledgement></soap:Header><soap:Body/></soap:Envelope>
>
> so the problem that you described may not be present in a newer 2.7.x than
> your 2.7.0.
>
> regards, aki
>
>
>
> 2016-04-11 7:46 GMT+02:00 Graeme Hill <Gr...@empired.com>:
>
> > We have recently identified an issue with the WS-RM LastMessage event
> > on a WS-RM Endpoint termination sending the LastMessage xml back onto
> itself.
> > e.g. server A instead of sending LastMessage to Client A sends the
> > transaction back to its own Server Endpoint Address..
> >
> > The scenario is a WS-RM transaction using request/response so the
> > source message contains a sequence and the response message contains a
> > sequence also. The sequence in the response is the sequence offered by
> > the client in the CreateSequence request as per the WS-RM specification.
> >
> > SInce the LastMessage isnt sent properly, the client doesn't reset any
> > sequences and when the server is started again all subsequent sequence
> > id are considered invalid. Since the sequences don't expire the client
> > will always use the same sequence until told otherwise.
> >
> > Ws-RM doesn't have any specfic client config.
> >
> > I cannot include the WSDL as it's commercially sensistive. It does
> > however provide a request response pattern:
> >
> >     <wsdl:binding name="xxxBinding" type="tns:xxxx">
> >         <soap:binding style="document" transport="
> > http://schemas.xmlsoap.org/soap/http" />
> >         <wsaw:UsingAddressing wsdl:required="true"/>
> >         <wsp:PolicyReference URI="#UnifiedMessaging_Policy" />
> >         <wsdl:operation name="xxxxxxx">
> >             <soap:operation soapAction="http://xxxxxxxx"
> style="document"
> > />
> >             <wsdl:input name="xxxxxRequest">
> >                 <soap:body use="literal" />
> >             </wsdl:input>
> >             <wsdl:output>
> >                 <soap:body use="literal" />
> >             </wsdl:output>
> >         </wsdl:operation>
> >     </wsdl:binding>
> >
> >
> > Server source policy config:
> >                 <wsrm-mgr:sourcePolicy includeOffer="false"
> > sequenceExpiration="PT0S">
> >                     <wsrm-mgr:sequenceTerminationPolicy
> > terminateOnShutdown="true" />
> >                 </wsrm-mgr:sourcePolicy>
> >
> > Server WSDL Assertion:
> >             <wsrmp:RMAssertion>
> >                 <wsrmp:BaseRetransmissionInterval Milliseconds="10000" />
> >                 <wsrmp:AcknowledgementInterval Milliseconds="5000" />
> >             </wsrmp:RMAssertion>
> >
> > The platform is JBoss Fuse 6.1 which contains cxf 2.7.0
> >
> > Has anyone else seen this scenario ? It seems like request/response
> > with offers seems to be a rare use pattern.
> >
> > Some XML examples of the WS-RM transaction
> >
> > ID: 1
> > Address: https://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml; charset=UTF-8
> > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> > connection=[keep-alive], Content-Length=[1534],
> > content-type=[text/xml; charset=UTF-8], Host=[ 10.15.2.10:9001],
> Pragma=[no-cache], SOAPAction=["
> > http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence"],
> > User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
> > </ReplyTo>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984175601">
> > <wsse:Username>xxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <CreateSequence xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <AcksTo>
> > <ns2:Address>http://10.2.122.92:9990/decoupled_endpoint</ns2:Address>
> > </AcksTo>
> > <Expires>PT0S</Expires>
> > <Offer>
> > <Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</Identifier>
> > <Expires>PT0S</Expires>
> > </Offer>
> > </CreateSequence>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > ID: 1
> > Response-Code: 202
> > Encoding: UTF-8
> > Content-Type: text/xml
> > Headers: {}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:3ca0fb2f-8a6d-4848-92d2-df7ae0be7efb</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> >
> > Outbound Message TO SOAP CLIENT
> > ---------------------------
> > ID: 1
> > Address: http://10.2.122.92:9990/decoupled_endpoint
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml
> > Headers: {Accept=[*/*]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</Actio
> > n> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:1d262900-74e4-4700-be70-6d9dfd48122b</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://10.2.122.92:9990/decoupled_endpoint</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</RelatesTo>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken xmlns:wsu="
> >
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
> "
> > wsu:Id="UsernameToken-5A6B2E8551939059E514593984185241">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <CreateSequenceResponse xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</Identifier>
> > <Expires>PT0S</Expires>
> > <Accept>
> > <AcksTo>
> > <ns2:Address>https://10.15.2.10:9001/cxf/service</ns2:Address>
> > </AcksTo>
> > </Accept>
> > </CreateSequenceResponse>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Inbound Message FROM SOAP CLIENT
> > ----------------------------
> > ID: 2
> > Address:
> > https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml; charset=UTF-8
> > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> > connection=[keep-alive], content-type=[text/xml; charset=UTF-8],
> > Host=[10.15.2.10:9001], Pragma=[no-cache],
> > SOAPAction=["http://xxxxxxxxxxx], transfer-encoding=[chunked],
> > User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://xxxxxxxxxxx</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
> > </ReplyTo>
> > <wsrm:Sequence xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > soap:mustUnderstand="1">
> >
> > <wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:I
> > dentifier> <wsrm:MessageNumber>1</wsrm:MessageNumber>
> > </wsrm:Sequence>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <WSDL INPUT BODY MESSAGE/>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Outbound Message TO SOAP CLIENT
> > ---------------------------
> > ID: 2
> > Response-Code: 202
> > Encoding: UTF-8
> > Content-Type: text/xml
> > Headers: {}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:0bc725e1-534d-4653-9f16-2ea02a0657f4</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Outbound Message TO SOAP CLIENT
> > ---------------------------
> > ID: 2
> > Address: http://10.2.122.92:9990/decoupled_endpoint
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml
> > Headers: {Accept=[*/*],
> > breadcrumbId=[ID-fuse1-37687-1459398351533-0-1],
> > Host=[10.15.2.10:9001], SOAPAction=[http://xxxxx],
> > startTime=[1459398418701], successful=[true], User-Agent=[Apache CXF
> > 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://xxxxxxxxxxxx</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:851099ff-7cae-4f3b-9656-bcf1e4119913</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://10.2.122.92:9990/decoupled_endpoint</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</RelatesTo>
> > <wsrm:Sequence xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > soap:mustUnderstand="1">
> >
> > <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> > dentifier> <wsrm:MessageNumber>1</wsrm:MessageNumber>
> > </wsrm:Sequence>
> > <wsrm:SequenceAcknowledgement xmlns:ns2="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> > http://schemas.xmlsoap.org/ws/2005/02/rm">
> >
> > <wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:I
> > dentifier> <wsrm:AcknowledgementRange Lower="1" Upper="1"/>
> > </wsrm:SequenceAcknowledgement> <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
> > <wsse:Username>xxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <WSDL OUTPUT BODY MESSAGE>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Output Message TO CLIENT
> > ----------------------------
> > ID: 4
> > Address:
> > https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml; charset=UTF-8
> > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> > connection=[keep-alive], Content-Length=[1339],
> > content-type=[text/xml; charset=UTF-8], Host=[ 10.15.2.10:9001],
> Pragma=[no-cache], SOAPAction=["
> > http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement"],
> > User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</Acti
> > on> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:19ec4cd7-d0ad-43ce-b94c-dee5f4e8d1b2</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <wsrm:SequenceAcknowledgement xmlns:ns2="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> > http://schemas.xmlsoap.org/ws/2005/02/rm">
> >
> > <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> > dentifier> <wsrm:AcknowledgementRange Lower="1" Upper="1"/>
> > </wsrm:SequenceAcknowledgement> <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984199953">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyyyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> >
> > ID: 4
> > Response-Code: 202
> > Encoding: UTF-8
> > Content-Type: text/xml
> > Headers: {}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:d3478830-e787-4562-8429-6b87919e5f36</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> > System is now shutdown
> >
> >
> > Outbound Message To client is instead sent from server to itself
> > ---------------------------
> > ID: 5
> > Address: https://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml
> > Headers: {Accept=[*/*], SOAPAction=["
> > http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage"]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:f7f4fd64-2ade-425a-b32a-27457fb0e8bd</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <wsrm:Sequence xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > soap:mustUnderstand="1">
> >
> > <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> > dentifier> <wsrm:MessageNumber>2</wsrm:MessageNumber>
> > <wsrm:LastMessage/>
> > </wsrm:Sequence>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-5A6B2E8551939059E514593987877012">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> >
>

RE: WS-RM : Server sending LastMessage for SourceSequence termination back to itself.

Posted by Graeme Hill <Gr...@empired.com>.
Thanks Aki.

The major differences between the demos and our actual use:

1) We are using a WS-RM persistence store ported from org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java
2) All of our incoming requests/responses use WS-Security headers

We suspect the issue possibly lies within there or something else unique about the implementation. 

At the moment 1) is the prime suspect so after we run the demos we will run without a persistence store to see if the problem disappears.

Thanks again for your assistance.

________________________________________
From: Aki Yoshida [elakito@gmail.com]
Sent: 18 April 2016 16:05
To: users@cxf.apache.org
Subject: Re: WS-RM : Server sending LastMessage for SourceSequence termination back to itself.

Hi Graeme,
You can apply the same modification (http://pastebin.com/BwTGt9qC) that I
applied to cxf-2.7.x's ws_rm sample to cxf-2.7.0's ws_rm sample to trigger
the server termination to see if there is a difference between the latest
2.7.x and 2.7.0. If none, something else is causing the strange behavior in
your setup.

regards, aki

2016-04-17 11:07 GMT+02:00 Graeme Hill <Gr...@empired.com>:

> Thanks Aki.
>
> We suspect a later version may assist but since we are running in a RedHat
> Fuse container we cannot easily swap out the OSGI bundles for cxf ws-rm and
> replace them with another.  I've gone through differences in the source
> between 2.7.0 and later versions but nothing jumps out.
>
> Thanks for the confirmation though. I'll investigate a partial upgrade or
> a jump to a later Fuse version.
>
> -----Original Message-----
> From: Aki Yoshida [mailto:elakito@gmail.com]
> Sent: Friday, 15 April 2016 9:09 PM
> To: users@cxf.apache.org
> Subject: Re: WS-RM : Server sending LastMessage for SourceSequence
> termination back to itself.
>
> I just ran CXF 2.7.x's ws_rm sample with some modification so that the
> client invokes greetMe twice and the server is set to terminate on shutdown.
> And in this setup, I see in the sejrver's log that the last message is
> successfully sent from the terminating server to the client and the client
> is acknowledging this message.
> INFO: Sending out-of-band RM protocol message {
> http://schemas.xmlsoap.org/ws/2005/02/rm}CloseSequence.
> Apr 15, 2016 2:50:27 PM
> org.apache.cxf.services.GreeterService.GreeterPort.Greeter
> INFO: Outbound Message
> ---------------------------
> ID: 6
> Address: http://localhost:9990/decoupled_endpoint
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml
> Headers: {Accept=[*/*], SOAPAction=["
> http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage"]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><Action xmlns="
> http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</Action><MessageID
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:7a24fdb9-78fd-4499-8d8b-56d32731447d</MessageID><To
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://localhost:9990/decoupled_endpoint</To><wsrm:Sequence
> soap:mustUnderstand="1" xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> http://schemas.xmlsoap.org/ws/2005/02/rm
>
> "><wsrm:Identifier>urn:uuid:4f63d726-ec00-4dda-95cd-c3e6be8392c8</wsrm:Identifier><wsrm:MessageNumber>3</wsrm:MessageNumber><wsrm:LastMessage/></wsrm:Sequence></soap:Header><soap:Body/></soap:Envelope>
> --------------------------------------
> Apr 15, 2016 2:50:27 PM
> org.apache.cxf.services.GreeterService.GreeterPort.Greeter
> INFO: Inbound Message
> ----------------------------
> ID: 7
> Address: http://localhost:9000/SoapContext/GreeterPort
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml; charset=UTF-8
> Headers: {Accept=[*/*], Cache-Control=[no-cache], connection=[keep-alive],
> Content-Length=[803], content-type=[text/xml; charset=UTF-8],
> Host=[localhost:9000], Pragma=[no-cache], SOAPAction=["
> http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement"],
> User-Agent=[Apache CXF
> 2.7.19-SNAPSHOT-880f8263c732f57503121325096394103799f217]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><Action xmlns="
> http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement
> </Action><MessageID
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:c6eaac49-1300-4015-b11c-bef0700d6272</MessageID><To
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://localhost:9000/SoapContext/GreeterPort
> </To><wsrm:SequenceAcknowledgement
> xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> http://schemas.xmlsoap.org/ws/2005/02/rm
> "><wsrm:Identifier>urn:uuid:4f63d726-ec00-4dda-95cd-c3e6be8392c8</wsrm:Identifier><wsrm:AcknowledgementRange
> Lower="1"
>
> Upper="3"/></wsrm:SequenceAcknowledgement></soap:Header><soap:Body/></soap:Envelope>
>
> so the problem that you described may not be present in a newer 2.7.x than
> your 2.7.0.
>
> regards, aki
>
>
>
> 2016-04-11 7:46 GMT+02:00 Graeme Hill <Gr...@empired.com>:
>
> > We have recently identified an issue with the WS-RM LastMessage event
> > on a WS-RM Endpoint termination sending the LastMessage xml back onto
> itself.
> > e.g. server A instead of sending LastMessage to Client A sends the
> > transaction back to its own Server Endpoint Address..
> >
> > The scenario is a WS-RM transaction using request/response so the
> > source message contains a sequence and the response message contains a
> > sequence also. The sequence in the response is the sequence offered by
> > the client in the CreateSequence request as per the WS-RM specification.
> >
> > SInce the LastMessage isnt sent properly, the client doesn't reset any
> > sequences and when the server is started again all subsequent sequence
> > id are considered invalid. Since the sequences don't expire the client
> > will always use the same sequence until told otherwise.
> >
> > Ws-RM doesn't have any specfic client config.
> >
> > I cannot include the WSDL as it's commercially sensistive. It does
> > however provide a request response pattern:
> >
> >     <wsdl:binding name="xxxBinding" type="tns:xxxx">
> >         <soap:binding style="document" transport="
> > http://schemas.xmlsoap.org/soap/http" />
> >         <wsaw:UsingAddressing wsdl:required="true"/>
> >         <wsp:PolicyReference URI="#UnifiedMessaging_Policy" />
> >         <wsdl:operation name="xxxxxxx">
> >             <soap:operation soapAction="http://xxxxxxxx"
> style="document"
> > />
> >             <wsdl:input name="xxxxxRequest">
> >                 <soap:body use="literal" />
> >             </wsdl:input>
> >             <wsdl:output>
> >                 <soap:body use="literal" />
> >             </wsdl:output>
> >         </wsdl:operation>
> >     </wsdl:binding>
> >
> >
> > Server source policy config:
> >                 <wsrm-mgr:sourcePolicy includeOffer="false"
> > sequenceExpiration="PT0S">
> >                     <wsrm-mgr:sequenceTerminationPolicy
> > terminateOnShutdown="true" />
> >                 </wsrm-mgr:sourcePolicy>
> >
> > Server WSDL Assertion:
> >             <wsrmp:RMAssertion>
> >                 <wsrmp:BaseRetransmissionInterval Milliseconds="10000" />
> >                 <wsrmp:AcknowledgementInterval Milliseconds="5000" />
> >             </wsrmp:RMAssertion>
> >
> > The platform is JBoss Fuse 6.1 which contains cxf 2.7.0
> >
> > Has anyone else seen this scenario ? It seems like request/response
> > with offers seems to be a rare use pattern.
> >
> > Some XML examples of the WS-RM transaction
> >
> > ID: 1
> > Address: https://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml; charset=UTF-8
> > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> > connection=[keep-alive], Content-Length=[1534],
> > content-type=[text/xml; charset=UTF-8], Host=[ 10.15.2.10:9001],
> Pragma=[no-cache], SOAPAction=["
> > http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence"],
> > User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
> > </ReplyTo>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984175601">
> > <wsse:Username>xxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <CreateSequence xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <AcksTo>
> > <ns2:Address>http://10.2.122.92:9990/decoupled_endpoint</ns2:Address>
> > </AcksTo>
> > <Expires>PT0S</Expires>
> > <Offer>
> > <Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</Identifier>
> > <Expires>PT0S</Expires>
> > </Offer>
> > </CreateSequence>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > ID: 1
> > Response-Code: 202
> > Encoding: UTF-8
> > Content-Type: text/xml
> > Headers: {}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:3ca0fb2f-8a6d-4848-92d2-df7ae0be7efb</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> >
> > Outbound Message TO SOAP CLIENT
> > ---------------------------
> > ID: 1
> > Address: http://10.2.122.92:9990/decoupled_endpoint
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml
> > Headers: {Accept=[*/*]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</Actio
> > n> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:1d262900-74e4-4700-be70-6d9dfd48122b</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://10.2.122.92:9990/decoupled_endpoint</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</RelatesTo>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken xmlns:wsu="
> >
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
> "
> > wsu:Id="UsernameToken-5A6B2E8551939059E514593984185241">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <CreateSequenceResponse xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</Identifier>
> > <Expires>PT0S</Expires>
> > <Accept>
> > <AcksTo>
> > <ns2:Address>https://10.15.2.10:9001/cxf/service</ns2:Address>
> > </AcksTo>
> > </Accept>
> > </CreateSequenceResponse>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Inbound Message FROM SOAP CLIENT
> > ----------------------------
> > ID: 2
> > Address:
> > https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml; charset=UTF-8
> > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> > connection=[keep-alive], content-type=[text/xml; charset=UTF-8],
> > Host=[10.15.2.10:9001], Pragma=[no-cache],
> > SOAPAction=["http://xxxxxxxxxxx], transfer-encoding=[chunked],
> > User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://xxxxxxxxxxx</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
> > </ReplyTo>
> > <wsrm:Sequence xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > soap:mustUnderstand="1">
> >
> > <wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:I
> > dentifier> <wsrm:MessageNumber>1</wsrm:MessageNumber>
> > </wsrm:Sequence>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <WSDL INPUT BODY MESSAGE/>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Outbound Message TO SOAP CLIENT
> > ---------------------------
> > ID: 2
> > Response-Code: 202
> > Encoding: UTF-8
> > Content-Type: text/xml
> > Headers: {}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:0bc725e1-534d-4653-9f16-2ea02a0657f4</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Outbound Message TO SOAP CLIENT
> > ---------------------------
> > ID: 2
> > Address: http://10.2.122.92:9990/decoupled_endpoint
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml
> > Headers: {Accept=[*/*],
> > breadcrumbId=[ID-fuse1-37687-1459398351533-0-1],
> > Host=[10.15.2.10:9001], SOAPAction=[http://xxxxx],
> > startTime=[1459398418701], successful=[true], User-Agent=[Apache CXF
> > 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://xxxxxxxxxxxx</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:851099ff-7cae-4f3b-9656-bcf1e4119913</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://10.2.122.92:9990/decoupled_endpoint</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</RelatesTo>
> > <wsrm:Sequence xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > soap:mustUnderstand="1">
> >
> > <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> > dentifier> <wsrm:MessageNumber>1</wsrm:MessageNumber>
> > </wsrm:Sequence>
> > <wsrm:SequenceAcknowledgement xmlns:ns2="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> > http://schemas.xmlsoap.org/ws/2005/02/rm">
> >
> > <wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:I
> > dentifier> <wsrm:AcknowledgementRange Lower="1" Upper="1"/>
> > </wsrm:SequenceAcknowledgement> <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
> > <wsse:Username>xxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <WSDL OUTPUT BODY MESSAGE>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Output Message TO CLIENT
> > ----------------------------
> > ID: 4
> > Address:
> > https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml; charset=UTF-8
> > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> > connection=[keep-alive], Content-Length=[1339],
> > content-type=[text/xml; charset=UTF-8], Host=[ 10.15.2.10:9001],
> Pragma=[no-cache], SOAPAction=["
> > http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement"],
> > User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</Acti
> > on> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:19ec4cd7-d0ad-43ce-b94c-dee5f4e8d1b2</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <wsrm:SequenceAcknowledgement xmlns:ns2="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> > http://schemas.xmlsoap.org/ws/2005/02/rm">
> >
> > <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> > dentifier> <wsrm:AcknowledgementRange Lower="1" Upper="1"/>
> > </wsrm:SequenceAcknowledgement> <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984199953">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyyyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> >
> > ID: 4
> > Response-Code: 202
> > Encoding: UTF-8
> > Content-Type: text/xml
> > Headers: {}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:d3478830-e787-4562-8429-6b87919e5f36</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> > System is now shutdown
> >
> >
> > Outbound Message To client is instead sent from server to itself
> > ---------------------------
> > ID: 5
> > Address: https://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml
> > Headers: {Accept=[*/*], SOAPAction=["
> > http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage"]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:f7f4fd64-2ade-425a-b32a-27457fb0e8bd</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <wsrm:Sequence xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > soap:mustUnderstand="1">
> >
> > <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> > dentifier> <wsrm:MessageNumber>2</wsrm:MessageNumber>
> > <wsrm:LastMessage/>
> > </wsrm:Sequence>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-5A6B2E8551939059E514593987877012">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> >
>

Re: WS-RM : Server sending LastMessage for SourceSequence termination back to itself.

Posted by Aki Yoshida <el...@gmail.com>.
Hi Graeme,
You can apply the same modification (http://pastebin.com/BwTGt9qC) that I
applied to cxf-2.7.x's ws_rm sample to cxf-2.7.0's ws_rm sample to trigger
the server termination to see if there is a difference between the latest
2.7.x and 2.7.0. If none, something else is causing the strange behavior in
your setup.

regards, aki

2016-04-17 11:07 GMT+02:00 Graeme Hill <Gr...@empired.com>:

> Thanks Aki.
>
> We suspect a later version may assist but since we are running in a RedHat
> Fuse container we cannot easily swap out the OSGI bundles for cxf ws-rm and
> replace them with another.  I've gone through differences in the source
> between 2.7.0 and later versions but nothing jumps out.
>
> Thanks for the confirmation though. I'll investigate a partial upgrade or
> a jump to a later Fuse version.
>
> -----Original Message-----
> From: Aki Yoshida [mailto:elakito@gmail.com]
> Sent: Friday, 15 April 2016 9:09 PM
> To: users@cxf.apache.org
> Subject: Re: WS-RM : Server sending LastMessage for SourceSequence
> termination back to itself.
>
> I just ran CXF 2.7.x's ws_rm sample with some modification so that the
> client invokes greetMe twice and the server is set to terminate on shutdown.
> And in this setup, I see in the sejrver's log that the last message is
> successfully sent from the terminating server to the client and the client
> is acknowledging this message.
> INFO: Sending out-of-band RM protocol message {
> http://schemas.xmlsoap.org/ws/2005/02/rm}CloseSequence.
> Apr 15, 2016 2:50:27 PM
> org.apache.cxf.services.GreeterService.GreeterPort.Greeter
> INFO: Outbound Message
> ---------------------------
> ID: 6
> Address: http://localhost:9990/decoupled_endpoint
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml
> Headers: {Accept=[*/*], SOAPAction=["
> http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage"]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><Action xmlns="
> http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</Action><MessageID
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:7a24fdb9-78fd-4499-8d8b-56d32731447d</MessageID><To
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://localhost:9990/decoupled_endpoint</To><wsrm:Sequence
> soap:mustUnderstand="1" xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> http://schemas.xmlsoap.org/ws/2005/02/rm
>
> "><wsrm:Identifier>urn:uuid:4f63d726-ec00-4dda-95cd-c3e6be8392c8</wsrm:Identifier><wsrm:MessageNumber>3</wsrm:MessageNumber><wsrm:LastMessage/></wsrm:Sequence></soap:Header><soap:Body/></soap:Envelope>
> --------------------------------------
> Apr 15, 2016 2:50:27 PM
> org.apache.cxf.services.GreeterService.GreeterPort.Greeter
> INFO: Inbound Message
> ----------------------------
> ID: 7
> Address: http://localhost:9000/SoapContext/GreeterPort
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml; charset=UTF-8
> Headers: {Accept=[*/*], Cache-Control=[no-cache], connection=[keep-alive],
> Content-Length=[803], content-type=[text/xml; charset=UTF-8],
> Host=[localhost:9000], Pragma=[no-cache], SOAPAction=["
> http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement"],
> User-Agent=[Apache CXF
> 2.7.19-SNAPSHOT-880f8263c732f57503121325096394103799f217]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><Action xmlns="
> http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement
> </Action><MessageID
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:c6eaac49-1300-4015-b11c-bef0700d6272</MessageID><To
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://localhost:9000/SoapContext/GreeterPort
> </To><wsrm:SequenceAcknowledgement
> xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> http://schemas.xmlsoap.org/ws/2005/02/rm
> "><wsrm:Identifier>urn:uuid:4f63d726-ec00-4dda-95cd-c3e6be8392c8</wsrm:Identifier><wsrm:AcknowledgementRange
> Lower="1"
>
> Upper="3"/></wsrm:SequenceAcknowledgement></soap:Header><soap:Body/></soap:Envelope>
>
> so the problem that you described may not be present in a newer 2.7.x than
> your 2.7.0.
>
> regards, aki
>
>
>
> 2016-04-11 7:46 GMT+02:00 Graeme Hill <Gr...@empired.com>:
>
> > We have recently identified an issue with the WS-RM LastMessage event
> > on a WS-RM Endpoint termination sending the LastMessage xml back onto
> itself.
> > e.g. server A instead of sending LastMessage to Client A sends the
> > transaction back to its own Server Endpoint Address..
> >
> > The scenario is a WS-RM transaction using request/response so the
> > source message contains a sequence and the response message contains a
> > sequence also. The sequence in the response is the sequence offered by
> > the client in the CreateSequence request as per the WS-RM specification.
> >
> > SInce the LastMessage isnt sent properly, the client doesn't reset any
> > sequences and when the server is started again all subsequent sequence
> > id are considered invalid. Since the sequences don't expire the client
> > will always use the same sequence until told otherwise.
> >
> > Ws-RM doesn't have any specfic client config.
> >
> > I cannot include the WSDL as it's commercially sensistive. It does
> > however provide a request response pattern:
> >
> >     <wsdl:binding name="xxxBinding" type="tns:xxxx">
> >         <soap:binding style="document" transport="
> > http://schemas.xmlsoap.org/soap/http" />
> >         <wsaw:UsingAddressing wsdl:required="true"/>
> >         <wsp:PolicyReference URI="#UnifiedMessaging_Policy" />
> >         <wsdl:operation name="xxxxxxx">
> >             <soap:operation soapAction="http://xxxxxxxx"
> style="document"
> > />
> >             <wsdl:input name="xxxxxRequest">
> >                 <soap:body use="literal" />
> >             </wsdl:input>
> >             <wsdl:output>
> >                 <soap:body use="literal" />
> >             </wsdl:output>
> >         </wsdl:operation>
> >     </wsdl:binding>
> >
> >
> > Server source policy config:
> >                 <wsrm-mgr:sourcePolicy includeOffer="false"
> > sequenceExpiration="PT0S">
> >                     <wsrm-mgr:sequenceTerminationPolicy
> > terminateOnShutdown="true" />
> >                 </wsrm-mgr:sourcePolicy>
> >
> > Server WSDL Assertion:
> >             <wsrmp:RMAssertion>
> >                 <wsrmp:BaseRetransmissionInterval Milliseconds="10000" />
> >                 <wsrmp:AcknowledgementInterval Milliseconds="5000" />
> >             </wsrmp:RMAssertion>
> >
> > The platform is JBoss Fuse 6.1 which contains cxf 2.7.0
> >
> > Has anyone else seen this scenario ? It seems like request/response
> > with offers seems to be a rare use pattern.
> >
> > Some XML examples of the WS-RM transaction
> >
> > ID: 1
> > Address: https://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml; charset=UTF-8
> > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> > connection=[keep-alive], Content-Length=[1534],
> > content-type=[text/xml; charset=UTF-8], Host=[ 10.15.2.10:9001],
> Pragma=[no-cache], SOAPAction=["
> > http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence"],
> > User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
> > </ReplyTo>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984175601">
> > <wsse:Username>xxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <CreateSequence xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <AcksTo>
> > <ns2:Address>http://10.2.122.92:9990/decoupled_endpoint</ns2:Address>
> > </AcksTo>
> > <Expires>PT0S</Expires>
> > <Offer>
> > <Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</Identifier>
> > <Expires>PT0S</Expires>
> > </Offer>
> > </CreateSequence>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > ID: 1
> > Response-Code: 202
> > Encoding: UTF-8
> > Content-Type: text/xml
> > Headers: {}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:3ca0fb2f-8a6d-4848-92d2-df7ae0be7efb</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> >
> > Outbound Message TO SOAP CLIENT
> > ---------------------------
> > ID: 1
> > Address: http://10.2.122.92:9990/decoupled_endpoint
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml
> > Headers: {Accept=[*/*]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</Actio
> > n> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:1d262900-74e4-4700-be70-6d9dfd48122b</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://10.2.122.92:9990/decoupled_endpoint</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</RelatesTo>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken xmlns:wsu="
> >
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
> "
> > wsu:Id="UsernameToken-5A6B2E8551939059E514593984185241">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <CreateSequenceResponse xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</Identifier>
> > <Expires>PT0S</Expires>
> > <Accept>
> > <AcksTo>
> > <ns2:Address>https://10.15.2.10:9001/cxf/service</ns2:Address>
> > </AcksTo>
> > </Accept>
> > </CreateSequenceResponse>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Inbound Message FROM SOAP CLIENT
> > ----------------------------
> > ID: 2
> > Address:
> > https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml; charset=UTF-8
> > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> > connection=[keep-alive], content-type=[text/xml; charset=UTF-8],
> > Host=[10.15.2.10:9001], Pragma=[no-cache],
> > SOAPAction=["http://xxxxxxxxxxx], transfer-encoding=[chunked],
> > User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://xxxxxxxxxxx</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > <Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
> > </ReplyTo>
> > <wsrm:Sequence xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > soap:mustUnderstand="1">
> >
> > <wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:I
> > dentifier> <wsrm:MessageNumber>1</wsrm:MessageNumber>
> > </wsrm:Sequence>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <WSDL INPUT BODY MESSAGE/>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Outbound Message TO SOAP CLIENT
> > ---------------------------
> > ID: 2
> > Response-Code: 202
> > Encoding: UTF-8
> > Content-Type: text/xml
> > Headers: {}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:0bc725e1-534d-4653-9f16-2ea02a0657f4</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Outbound Message TO SOAP CLIENT
> > ---------------------------
> > ID: 2
> > Address: http://10.2.122.92:9990/decoupled_endpoint
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml
> > Headers: {Accept=[*/*],
> > breadcrumbId=[ID-fuse1-37687-1459398351533-0-1],
> > Host=[10.15.2.10:9001], SOAPAction=[http://xxxxx],
> > startTime=[1459398418701], successful=[true], User-Agent=[Apache CXF
> > 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://xxxxxxxxxxxx</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:851099ff-7cae-4f3b-9656-bcf1e4119913</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://10.2.122.92:9990/decoupled_endpoint</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</RelatesTo>
> > <wsrm:Sequence xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > soap:mustUnderstand="1">
> >
> > <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> > dentifier> <wsrm:MessageNumber>1</wsrm:MessageNumber>
> > </wsrm:Sequence>
> > <wsrm:SequenceAcknowledgement xmlns:ns2="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> > http://schemas.xmlsoap.org/ws/2005/02/rm">
> >
> > <wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:I
> > dentifier> <wsrm:AcknowledgementRange Lower="1" Upper="1"/>
> > </wsrm:SequenceAcknowledgement> <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
> > <wsse:Username>xxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body>
> > <WSDL OUTPUT BODY MESSAGE>
> > </soap:Body>
> > </soap:Envelope>
> > --------------------------------------
> >
> > Output Message TO CLIENT
> > ----------------------------
> > ID: 4
> > Address:
> > https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml; charset=UTF-8
> > Headers: {Accept=[*/*], Cache-Control=[no-cache],
> > connection=[keep-alive], Content-Length=[1339],
> > content-type=[text/xml; charset=UTF-8], Host=[ 10.15.2.10:9001],
> Pragma=[no-cache], SOAPAction=["
> > http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement"],
> > User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</Acti
> > on> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:19ec4cd7-d0ad-43ce-b94c-dee5f4e8d1b2</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <wsrm:SequenceAcknowledgement xmlns:ns2="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> > http://schemas.xmlsoap.org/ws/2005/02/rm">
> >
> > <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> > dentifier> <wsrm:AcknowledgementRange Lower="1" Upper="1"/>
> > </wsrm:SequenceAcknowledgement> <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-65B958CE914DA0512E14593984199953">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyyyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> >
> > ID: 4
> > Response-Code: 202
> > Encoding: UTF-8
> > Content-Type: text/xml
> > Headers: {}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:d3478830-e787-4562-8429-6b87919e5f36</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> > <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> > System is now shutdown
> >
> >
> > Outbound Message To client is instead sent from server to itself
> > ---------------------------
> > ID: 5
> > Address: https://10.15.2.10:9001/cxf/service
> > Encoding: UTF-8
> > Http-Method: POST
> > Content-Type: text/xml
> > Headers: {Accept=[*/*], SOAPAction=["
> > http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage"]}
> > Payload: <soap:Envelope xmlns:soap="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Header>
> > <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</Action>
> > <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> > ">urn:uuid:f7f4fd64-2ade-425a-b32a-27457fb0e8bd</MessageID>
> > <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> > https://10.15.2.10:9001/cxf/service</To>
> > <wsrm:Sequence xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > soap:mustUnderstand="1">
> >
> > <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> > dentifier> <wsrm:MessageNumber>2</wsrm:MessageNumber>
> > <wsrm:LastMessage/>
> > </wsrm:Sequence>
> > <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
> "
> > soap:mustUnderstand="1">
> > <wsse:UsernameToken
> > wsu:Id="UsernameToken-5A6B2E8551939059E514593987877012">
> > <wsse:Username>xxxxx</wsse:Username>
> > <wsse:Password Type="
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> > -profile-1.0#PasswordText
> > ">yyyyyyy</wsse:Password>
> > </wsse:UsernameToken>
> > </wsse:Security>
> > </soap:Header>
> > <soap:Body/>
> > </soap:Envelope>
> > --------------------------------------
> >
> >
>

RE: WS-RM : Server sending LastMessage for SourceSequence termination back to itself.

Posted by Graeme Hill <Gr...@empired.com>.
Thanks Aki.

We suspect a later version may assist but since we are running in a RedHat Fuse container we cannot easily swap out the OSGI bundles for cxf ws-rm and replace them with another.  I've gone through differences in the source between 2.7.0 and later versions but nothing jumps out.

Thanks for the confirmation though. I'll investigate a partial upgrade or a jump to a later Fuse version.

-----Original Message-----
From: Aki Yoshida [mailto:elakito@gmail.com] 
Sent: Friday, 15 April 2016 9:09 PM
To: users@cxf.apache.org
Subject: Re: WS-RM : Server sending LastMessage for SourceSequence termination back to itself.

I just ran CXF 2.7.x's ws_rm sample with some modification so that the client invokes greetMe twice and the server is set to terminate on shutdown.
And in this setup, I see in the sejrver's log that the last message is successfully sent from the terminating server to the client and the client is acknowledging this message.
INFO: Sending out-of-band RM protocol message { http://schemas.xmlsoap.org/ws/2005/02/rm}CloseSequence.
Apr 15, 2016 2:50:27 PM
org.apache.cxf.services.GreeterService.GreeterPort.Greeter
INFO: Outbound Message
---------------------------
ID: 6
Address: http://localhost:9990/decoupled_endpoint
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml
Headers: {Accept=[*/*], SOAPAction=["
http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage"]}
Payload: <soap:Envelope xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><Action xmlns="
http://schemas.xmlsoap.org/ws/2004/08/addressing">
http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</Action><MessageID
xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:7a24fdb9-78fd-4499-8d8b-56d32731447d</MessageID><To
xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
http://localhost:9990/decoupled_endpoint</To><wsrm:Sequence
soap:mustUnderstand="1" xmlns:ns2="
http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
http://schemas.xmlsoap.org/ws/2005/02/rm
"><wsrm:Identifier>urn:uuid:4f63d726-ec00-4dda-95cd-c3e6be8392c8</wsrm:Identifier><wsrm:MessageNumber>3</wsrm:MessageNumber><wsrm:LastMessage/></wsrm:Sequence></soap:Header><soap:Body/></soap:Envelope>
--------------------------------------
Apr 15, 2016 2:50:27 PM
org.apache.cxf.services.GreeterService.GreeterPort.Greeter
INFO: Inbound Message
----------------------------
ID: 7
Address: http://localhost:9000/SoapContext/GreeterPort
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml; charset=UTF-8
Headers: {Accept=[*/*], Cache-Control=[no-cache], connection=[keep-alive], Content-Length=[803], content-type=[text/xml; charset=UTF-8], Host=[localhost:9000], Pragma=[no-cache], SOAPAction=["
http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement"],
User-Agent=[Apache CXF
2.7.19-SNAPSHOT-880f8263c732f57503121325096394103799f217]}
Payload: <soap:Envelope xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><Action xmlns="
http://schemas.xmlsoap.org/ws/2004/08/addressing">
http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</Action><MessageID
xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:c6eaac49-1300-4015-b11c-bef0700d6272</MessageID><To
xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
http://localhost:9000/SoapContext/GreeterPort</To><wsrm:SequenceAcknowledgement
xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
http://schemas.xmlsoap.org/ws/2005/02/rm"><wsrm:Identifier>urn:uuid:4f63d726-ec00-4dda-95cd-c3e6be8392c8</wsrm:Identifier><wsrm:AcknowledgementRange
Lower="1"
Upper="3"/></wsrm:SequenceAcknowledgement></soap:Header><soap:Body/></soap:Envelope>

so the problem that you described may not be present in a newer 2.7.x than your 2.7.0.

regards, aki



2016-04-11 7:46 GMT+02:00 Graeme Hill <Gr...@empired.com>:

> We have recently identified an issue with the WS-RM LastMessage event 
> on a WS-RM Endpoint termination sending the LastMessage xml back onto itself.
> e.g. server A instead of sending LastMessage to Client A sends the 
> transaction back to its own Server Endpoint Address..
>
> The scenario is a WS-RM transaction using request/response so the 
> source message contains a sequence and the response message contains a 
> sequence also. The sequence in the response is the sequence offered by 
> the client in the CreateSequence request as per the WS-RM specification.
>
> SInce the LastMessage isnt sent properly, the client doesn't reset any 
> sequences and when the server is started again all subsequent sequence 
> id are considered invalid. Since the sequences don't expire the client 
> will always use the same sequence until told otherwise.
>
> Ws-RM doesn't have any specfic client config.
>
> I cannot include the WSDL as it's commercially sensistive. It does 
> however provide a request response pattern:
>
>     <wsdl:binding name="xxxBinding" type="tns:xxxx">
>         <soap:binding style="document" transport="
> http://schemas.xmlsoap.org/soap/http" />
>         <wsaw:UsingAddressing wsdl:required="true"/>
>         <wsp:PolicyReference URI="#UnifiedMessaging_Policy" />
>         <wsdl:operation name="xxxxxxx">
>             <soap:operation soapAction="http://xxxxxxxx" style="document"
> />
>             <wsdl:input name="xxxxxRequest">
>                 <soap:body use="literal" />
>             </wsdl:input>
>             <wsdl:output>
>                 <soap:body use="literal" />
>             </wsdl:output>
>         </wsdl:operation>
>     </wsdl:binding>
>
>
> Server source policy config:
>                 <wsrm-mgr:sourcePolicy includeOffer="false"
> sequenceExpiration="PT0S">
>                     <wsrm-mgr:sequenceTerminationPolicy
> terminateOnShutdown="true" />
>                 </wsrm-mgr:sourcePolicy>
>
> Server WSDL Assertion:
>             <wsrmp:RMAssertion>
>                 <wsrmp:BaseRetransmissionInterval Milliseconds="10000" />
>                 <wsrmp:AcknowledgementInterval Milliseconds="5000" />
>             </wsrmp:RMAssertion>
>
> The platform is JBoss Fuse 6.1 which contains cxf 2.7.0
>
> Has anyone else seen this scenario ? It seems like request/response 
> with offers seems to be a rare use pattern.
>
> Some XML examples of the WS-RM transaction
>
> ID: 1
> Address: https://10.15.2.10:9001/cxf/service
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml; charset=UTF-8
> Headers: {Accept=[*/*], Cache-Control=[no-cache], 
> connection=[keep-alive], Content-Length=[1534], 
> content-type=[text/xml; charset=UTF-8], Host=[ 10.15.2.10:9001], Pragma=[no-cache], SOAPAction=["
> http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence"],
> User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</Action>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> https://10.15.2.10:9001/cxf/service</To>
> <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> <Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
> </ReplyTo>
> <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"
> soap:mustUnderstand="1">
> <wsse:UsernameToken
> wsu:Id="UsernameToken-65B958CE914DA0512E14593984175601">
> <wsse:Username>xxx</wsse:Username>
> <wsse:Password Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> -profile-1.0#PasswordText
> ">yyyy</wsse:Password>
> </wsse:UsernameToken>
> </wsse:Security>
> </soap:Header>
> <soap:Body>
> <CreateSequence xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"
> xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> <AcksTo>
> <ns2:Address>http://10.2.122.92:9990/decoupled_endpoint</ns2:Address>
> </AcksTo>
> <Expires>PT0S</Expires>
> <Offer>
> <Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</Identifier>
> <Expires>PT0S</Expires>
> </Offer>
> </CreateSequence>
> </soap:Body>
> </soap:Envelope>
> --------------------------------------
>
> ID: 1
> Response-Code: 202
> Encoding: UTF-8
> Content-Type: text/xml
> Headers: {}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:3ca0fb2f-8a6d-4848-92d2-df7ae0be7efb</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> </soap:Header>
> <soap:Body/>
> </soap:Envelope>
>
> Outbound Message TO SOAP CLIENT
> ---------------------------
> ID: 1
> Address: http://10.2.122.92:9990/decoupled_endpoint
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml
> Headers: {Accept=[*/*]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</Actio
> n> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:1d262900-74e4-4700-be70-6d9dfd48122b</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://10.2.122.92:9990/decoupled_endpoint</To>
> <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</RelatesTo>
> <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"
> soap:mustUnderstand="1">
> <wsse:UsernameToken xmlns:wsu="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
> wsu:Id="UsernameToken-5A6B2E8551939059E514593984185241">
> <wsse:Username>xxxxx</wsse:Username>
> <wsse:Password Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> -profile-1.0#PasswordText
> ">yyyyyy</wsse:Password>
> </wsse:UsernameToken>
> </wsse:Security>
> </soap:Header>
> <soap:Body>
> <CreateSequenceResponse xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"
> xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> <Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</Identifier>
> <Expires>PT0S</Expires>
> <Accept>
> <AcksTo>
> <ns2:Address>https://10.15.2.10:9001/cxf/service</ns2:Address>
> </AcksTo>
> </Accept>
> </CreateSequenceResponse>
> </soap:Body>
> </soap:Envelope>
> --------------------------------------
>
> Inbound Message FROM SOAP CLIENT
> ----------------------------
> ID: 2
> Address:
> https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml; charset=UTF-8
> Headers: {Accept=[*/*], Cache-Control=[no-cache], 
> connection=[keep-alive], content-type=[text/xml; charset=UTF-8], 
> Host=[10.15.2.10:9001], Pragma=[no-cache], 
> SOAPAction=["http://xxxxxxxxxxx], transfer-encoding=[chunked], 
> User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://xxxxxxxxxxx</Action>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> https://10.15.2.10:9001/cxf/service</To>
> <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> <Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
> </ReplyTo>
> <wsrm:Sequence xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing"
> xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> soap:mustUnderstand="1">
>
> <wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:I
> dentifier> <wsrm:MessageNumber>1</wsrm:MessageNumber>
> </wsrm:Sequence>
> <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"
> soap:mustUnderstand="1">
> <wsse:UsernameToken
> wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
> <wsse:Username>xxxxx</wsse:Username>
> <wsse:Password Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> -profile-1.0#PasswordText
> ">yyyyy</wsse:Password>
> </wsse:UsernameToken>
> </wsse:Security>
> </soap:Header>
> <soap:Body>
> <WSDL INPUT BODY MESSAGE/>
> </soap:Body>
> </soap:Envelope>
> --------------------------------------
>
> Outbound Message TO SOAP CLIENT
> ---------------------------
> ID: 2
> Response-Code: 202
> Encoding: UTF-8
> Content-Type: text/xml
> Headers: {}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:0bc725e1-534d-4653-9f16-2ea02a0657f4</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> </soap:Header>
> <soap:Body/>
> </soap:Envelope>
> --------------------------------------
>
> Outbound Message TO SOAP CLIENT
> ---------------------------
> ID: 2
> Address: http://10.2.122.92:9990/decoupled_endpoint
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml
> Headers: {Accept=[*/*], 
> breadcrumbId=[ID-fuse1-37687-1459398351533-0-1],
> Host=[10.15.2.10:9001], SOAPAction=[http://xxxxx], 
> startTime=[1459398418701], successful=[true], User-Agent=[Apache CXF 
> 2.7.0.redhat-610379]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://xxxxxxxxxxxx</Action>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:851099ff-7cae-4f3b-9656-bcf1e4119913</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://10.2.122.92:9990/decoupled_endpoint</To>
> <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</RelatesTo>
> <wsrm:Sequence xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing"
> xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> soap:mustUnderstand="1">
>
> <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> dentifier> <wsrm:MessageNumber>1</wsrm:MessageNumber>
> </wsrm:Sequence>
> <wsrm:SequenceAcknowledgement xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> http://schemas.xmlsoap.org/ws/2005/02/rm">
>
> <wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:I
> dentifier> <wsrm:AcknowledgementRange Lower="1" Upper="1"/> 
> </wsrm:SequenceAcknowledgement> <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"
> soap:mustUnderstand="1">
> <wsse:UsernameToken
> wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
> <wsse:Username>xxxx</wsse:Username>
> <wsse:Password Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> -profile-1.0#PasswordText
> ">yyyyyyy</wsse:Password>
> </wsse:UsernameToken>
> </wsse:Security>
> </soap:Header>
> <soap:Body>
> <WSDL OUTPUT BODY MESSAGE>
> </soap:Body>
> </soap:Envelope>
> --------------------------------------
>
> Output Message TO CLIENT
> ----------------------------
> ID: 4
> Address:
> https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml; charset=UTF-8
> Headers: {Accept=[*/*], Cache-Control=[no-cache], 
> connection=[keep-alive], Content-Length=[1339], 
> content-type=[text/xml; charset=UTF-8], Host=[ 10.15.2.10:9001], Pragma=[no-cache], SOAPAction=["
> http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement"],
> User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</Acti
> on> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:19ec4cd7-d0ad-43ce-b94c-dee5f4e8d1b2</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> https://10.15.2.10:9001/cxf/service</To>
> <wsrm:SequenceAcknowledgement xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> http://schemas.xmlsoap.org/ws/2005/02/rm">
>
> <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> dentifier> <wsrm:AcknowledgementRange Lower="1" Upper="1"/> 
> </wsrm:SequenceAcknowledgement> <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"
> soap:mustUnderstand="1">
> <wsse:UsernameToken
> wsu:Id="UsernameToken-65B958CE914DA0512E14593984199953">
> <wsse:Username>xxxxx</wsse:Username>
> <wsse:Password Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> -profile-1.0#PasswordText
> ">yyyyyyyyyyy</wsse:Password>
> </wsse:UsernameToken>
> </wsse:Security>
> </soap:Header>
> <soap:Body/>
> </soap:Envelope>
> --------------------------------------
>
>
> ID: 4
> Response-Code: 202
> Encoding: UTF-8
> Content-Type: text/xml
> Headers: {}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:d3478830-e787-4562-8429-6b87919e5f36</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> </soap:Header>
> <soap:Body/>
> </soap:Envelope>
> --------------------------------------
>
> System is now shutdown
>
>
> Outbound Message To client is instead sent from server to itself
> ---------------------------
> ID: 5
> Address: https://10.15.2.10:9001/cxf/service
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml
> Headers: {Accept=[*/*], SOAPAction=["
> http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage"]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</Action>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:f7f4fd64-2ade-425a-b32a-27457fb0e8bd</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> https://10.15.2.10:9001/cxf/service</To>
> <wsrm:Sequence xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing"
> xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> soap:mustUnderstand="1">
>
> <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:I
> dentifier> <wsrm:MessageNumber>2</wsrm:MessageNumber>
> <wsrm:LastMessage/>
> </wsrm:Sequence>
> <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"
> soap:mustUnderstand="1">
> <wsse:UsernameToken
> wsu:Id="UsernameToken-5A6B2E8551939059E514593987877012">
> <wsse:Username>xxxxx</wsse:Username>
> <wsse:Password Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token
> -profile-1.0#PasswordText
> ">yyyyyyy</wsse:Password>
> </wsse:UsernameToken>
> </wsse:Security>
> </soap:Header>
> <soap:Body/>
> </soap:Envelope>
> --------------------------------------
>
>

Re: WS-RM : Server sending LastMessage for SourceSequence termination back to itself.

Posted by Aki Yoshida <el...@gmail.com>.
I just ran CXF 2.7.x's ws_rm sample with some modification so that the
client invokes greetMe twice and the server is set to terminate on shutdown.
And in this setup, I see in the sejrver's log that the last message is
successfully sent from the terminating server to the client and the client
is acknowledging this message.
INFO: Sending out-of-band RM protocol message {
http://schemas.xmlsoap.org/ws/2005/02/rm}CloseSequence.
Apr 15, 2016 2:50:27 PM
org.apache.cxf.services.GreeterService.GreeterPort.Greeter
INFO: Outbound Message
---------------------------
ID: 6
Address: http://localhost:9990/decoupled_endpoint
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml
Headers: {Accept=[*/*], SOAPAction=["
http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage"]}
Payload: <soap:Envelope xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><Action xmlns="
http://schemas.xmlsoap.org/ws/2004/08/addressing">
http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</Action><MessageID
xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:7a24fdb9-78fd-4499-8d8b-56d32731447d</MessageID><To
xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
http://localhost:9990/decoupled_endpoint</To><wsrm:Sequence
soap:mustUnderstand="1" xmlns:ns2="
http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
http://schemas.xmlsoap.org/ws/2005/02/rm
"><wsrm:Identifier>urn:uuid:4f63d726-ec00-4dda-95cd-c3e6be8392c8</wsrm:Identifier><wsrm:MessageNumber>3</wsrm:MessageNumber><wsrm:LastMessage/></wsrm:Sequence></soap:Header><soap:Body/></soap:Envelope>
--------------------------------------
Apr 15, 2016 2:50:27 PM
org.apache.cxf.services.GreeterService.GreeterPort.Greeter
INFO: Inbound Message
----------------------------
ID: 7
Address: http://localhost:9000/SoapContext/GreeterPort
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml; charset=UTF-8
Headers: {Accept=[*/*], Cache-Control=[no-cache], connection=[keep-alive],
Content-Length=[803], content-type=[text/xml; charset=UTF-8],
Host=[localhost:9000], Pragma=[no-cache], SOAPAction=["
http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement"],
User-Agent=[Apache CXF
2.7.19-SNAPSHOT-880f8263c732f57503121325096394103799f217]}
Payload: <soap:Envelope xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><Action xmlns="
http://schemas.xmlsoap.org/ws/2004/08/addressing">
http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</Action><MessageID
xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:c6eaac49-1300-4015-b11c-bef0700d6272</MessageID><To
xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
http://localhost:9000/SoapContext/GreeterPort</To><wsrm:SequenceAcknowledgement
xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
http://schemas.xmlsoap.org/ws/2005/02/rm"><wsrm:Identifier>urn:uuid:4f63d726-ec00-4dda-95cd-c3e6be8392c8</wsrm:Identifier><wsrm:AcknowledgementRange
Lower="1"
Upper="3"/></wsrm:SequenceAcknowledgement></soap:Header><soap:Body/></soap:Envelope>

so the problem that you described may not be present in a newer 2.7.x than
your 2.7.0.

regards, aki



2016-04-11 7:46 GMT+02:00 Graeme Hill <Gr...@empired.com>:

> We have recently identified an issue with the WS-RM LastMessage event on a
> WS-RM Endpoint termination sending the LastMessage xml back onto itself.
> e.g. server A instead of sending LastMessage to Client A sends the
> transaction back to its own Server Endpoint Address..
>
> The scenario is a WS-RM transaction using request/response so the source
> message contains a sequence and the response message contains a sequence
> also. The sequence in the response is the sequence offered by the client in
> the CreateSequence request as per the WS-RM specification.
>
> SInce the LastMessage isnt sent properly, the client doesn't reset any
> sequences and when the server is started again all subsequent sequence id
> are considered invalid. Since the sequences don't expire the client will
> always use the same sequence until told otherwise.
>
> Ws-RM doesn't have any specfic client config.
>
> I cannot include the WSDL as it's commercially sensistive. It does however
> provide a request response pattern:
>
>     <wsdl:binding name="xxxBinding" type="tns:xxxx">
>         <soap:binding style="document" transport="
> http://schemas.xmlsoap.org/soap/http" />
>         <wsaw:UsingAddressing wsdl:required="true"/>
>         <wsp:PolicyReference URI="#UnifiedMessaging_Policy" />
>         <wsdl:operation name="xxxxxxx">
>             <soap:operation soapAction="http://xxxxxxxx" style="document"
> />
>             <wsdl:input name="xxxxxRequest">
>                 <soap:body use="literal" />
>             </wsdl:input>
>             <wsdl:output>
>                 <soap:body use="literal" />
>             </wsdl:output>
>         </wsdl:operation>
>     </wsdl:binding>
>
>
> Server source policy config:
>                 <wsrm-mgr:sourcePolicy includeOffer="false"
> sequenceExpiration="PT0S">
>                     <wsrm-mgr:sequenceTerminationPolicy
> terminateOnShutdown="true" />
>                 </wsrm-mgr:sourcePolicy>
>
> Server WSDL Assertion:
>             <wsrmp:RMAssertion>
>                 <wsrmp:BaseRetransmissionInterval Milliseconds="10000" />
>                 <wsrmp:AcknowledgementInterval Milliseconds="5000" />
>             </wsrmp:RMAssertion>
>
> The platform is JBoss Fuse 6.1 which contains cxf 2.7.0
>
> Has anyone else seen this scenario ? It seems like request/response with
> offers seems to be a rare use pattern.
>
> Some XML examples of the WS-RM transaction
>
> ID: 1
> Address: https://10.15.2.10:9001/cxf/service
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml; charset=UTF-8
> Headers: {Accept=[*/*], Cache-Control=[no-cache], connection=[keep-alive],
> Content-Length=[1534], content-type=[text/xml; charset=UTF-8], Host=[
> 10.15.2.10:9001], Pragma=[no-cache], SOAPAction=["
> http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence"],
> User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</Action>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> https://10.15.2.10:9001/cxf/service</To>
> <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> <Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
> </ReplyTo>
> <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"
> soap:mustUnderstand="1">
> <wsse:UsernameToken
> wsu:Id="UsernameToken-65B958CE914DA0512E14593984175601">
> <wsse:Username>xxx</wsse:Username>
> <wsse:Password Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText
> ">yyyy</wsse:Password>
> </wsse:UsernameToken>
> </wsse:Security>
> </soap:Header>
> <soap:Body>
> <CreateSequence xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"
> xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> <AcksTo>
> <ns2:Address>http://10.2.122.92:9990/decoupled_endpoint</ns2:Address>
> </AcksTo>
> <Expires>PT0S</Expires>
> <Offer>
> <Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</Identifier>
> <Expires>PT0S</Expires>
> </Offer>
> </CreateSequence>
> </soap:Body>
> </soap:Envelope>
> --------------------------------------
>
> ID: 1
> Response-Code: 202
> Encoding: UTF-8
> Content-Type: text/xml
> Headers: {}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:3ca0fb2f-8a6d-4848-92d2-df7ae0be7efb</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> </soap:Header>
> <soap:Body/>
> </soap:Envelope>
>
> Outbound Message TO SOAP CLIENT
> ---------------------------
> ID: 1
> Address: http://10.2.122.92:9990/decoupled_endpoint
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml
> Headers: {Accept=[*/*]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</Action>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:1d262900-74e4-4700-be70-6d9dfd48122b</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://10.2.122.92:9990/decoupled_endpoint</To>
> <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:33c3f781-966d-46e2-acc7-5b0efefc7c2e</RelatesTo>
> <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"
> soap:mustUnderstand="1">
> <wsse:UsernameToken xmlns:wsu="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
> wsu:Id="UsernameToken-5A6B2E8551939059E514593984185241">
> <wsse:Username>xxxxx</wsse:Username>
> <wsse:Password Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText
> ">yyyyyy</wsse:Password>
> </wsse:UsernameToken>
> </wsse:Security>
> </soap:Header>
> <soap:Body>
> <CreateSequenceResponse xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"
> xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> <Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</Identifier>
> <Expires>PT0S</Expires>
> <Accept>
> <AcksTo>
> <ns2:Address>https://10.15.2.10:9001/cxf/service</ns2:Address>
> </AcksTo>
> </Accept>
> </CreateSequenceResponse>
> </soap:Body>
> </soap:Envelope>
> --------------------------------------
>
> Inbound Message FROM SOAP CLIENT
> ----------------------------
> ID: 2
> Address:
> https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml; charset=UTF-8
> Headers: {Accept=[*/*], Cache-Control=[no-cache], connection=[keep-alive],
> content-type=[text/xml; charset=UTF-8], Host=[10.15.2.10:9001],
> Pragma=[no-cache], SOAPAction=["http://xxxxxxxxxxx],
> transfer-encoding=[chunked], User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://xxxxxxxxxxx</Action>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> https://10.15.2.10:9001/cxf/service</To>
> <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> <Address>http://10.2.122.92:9990/decoupled_endpoint</Address>
> </ReplyTo>
> <wsrm:Sequence xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing"
> xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> soap:mustUnderstand="1">
>
> <wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:Identifier>
> <wsrm:MessageNumber>1</wsrm:MessageNumber>
> </wsrm:Sequence>
> <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"
> soap:mustUnderstand="1">
> <wsse:UsernameToken
> wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
> <wsse:Username>xxxxx</wsse:Username>
> <wsse:Password Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText
> ">yyyyy</wsse:Password>
> </wsse:UsernameToken>
> </wsse:Security>
> </soap:Header>
> <soap:Body>
> <WSDL INPUT BODY MESSAGE/>
> </soap:Body>
> </soap:Envelope>
> --------------------------------------
>
> Outbound Message TO SOAP CLIENT
> ---------------------------
> ID: 2
> Response-Code: 202
> Encoding: UTF-8
> Content-Type: text/xml
> Headers: {}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:0bc725e1-534d-4653-9f16-2ea02a0657f4</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> </soap:Header>
> <soap:Body/>
> </soap:Envelope>
> --------------------------------------
>
> Outbound Message TO SOAP CLIENT
> ---------------------------
> ID: 2
> Address: http://10.2.122.92:9990/decoupled_endpoint
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml
> Headers: {Accept=[*/*], breadcrumbId=[ID-fuse1-37687-1459398351533-0-1],
> Host=[10.15.2.10:9001], SOAPAction=[http://xxxxx],
> startTime=[1459398418701], successful=[true], User-Agent=[Apache CXF
> 2.7.0.redhat-610379]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://xxxxxxxxxxxx</Action>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:851099ff-7cae-4f3b-9656-bcf1e4119913</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://10.2.122.92:9990/decoupled_endpoint</To>
> <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:35f455d9-a276-4edf-bb26-36e0e5ae6b37</RelatesTo>
> <wsrm:Sequence xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing"
> xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> soap:mustUnderstand="1">
>
> <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:Identifier>
> <wsrm:MessageNumber>1</wsrm:MessageNumber>
> </wsrm:Sequence>
> <wsrm:SequenceAcknowledgement xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> http://schemas.xmlsoap.org/ws/2005/02/rm">
>
> <wsrm:Identifier>urn:uuid:03e0f5f8-9a4c-421c-9cce-0a66b94888ae</wsrm:Identifier>
> <wsrm:AcknowledgementRange Lower="1" Upper="1"/>
> </wsrm:SequenceAcknowledgement>
> <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"
> soap:mustUnderstand="1">
> <wsse:UsernameToken
> wsu:Id="UsernameToken-65B958CE914DA0512E14593984186992">
> <wsse:Username>xxxx</wsse:Username>
> <wsse:Password Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText
> ">yyyyyyy</wsse:Password>
> </wsse:UsernameToken>
> </wsse:Security>
> </soap:Header>
> <soap:Body>
> <WSDL OUTPUT BODY MESSAGE>
> </soap:Body>
> </soap:Envelope>
> --------------------------------------
>
> Output Message TO CLIENT
> ----------------------------
> ID: 4
> Address:
> https://10.15.2.10:9001/cxf/servicehttps://10.15.2.10:9001/cxf/service
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml; charset=UTF-8
> Headers: {Accept=[*/*], Cache-Control=[no-cache], connection=[keep-alive],
> Content-Length=[1339], content-type=[text/xml; charset=UTF-8], Host=[
> 10.15.2.10:9001], Pragma=[no-cache], SOAPAction=["
> http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement"],
> User-Agent=[Apache CXF 2.7.0.redhat-610379]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</Action>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:19ec4cd7-d0ad-43ce-b94c-dee5f4e8d1b2</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> https://10.15.2.10:9001/cxf/service</To>
> <wsrm:SequenceAcknowledgement xmlns:ns2="
> http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="
> http://schemas.xmlsoap.org/ws/2005/02/rm">
>
> <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:Identifier>
> <wsrm:AcknowledgementRange Lower="1" Upper="1"/>
> </wsrm:SequenceAcknowledgement>
> <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"
> soap:mustUnderstand="1">
> <wsse:UsernameToken
> wsu:Id="UsernameToken-65B958CE914DA0512E14593984199953">
> <wsse:Username>xxxxx</wsse:Username>
> <wsse:Password Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText
> ">yyyyyyyyyyy</wsse:Password>
> </wsse:UsernameToken>
> </wsse:Security>
> </soap:Header>
> <soap:Body/>
> </soap:Envelope>
> --------------------------------------
>
>
> ID: 4
> Response-Code: 202
> Encoding: UTF-8
> Content-Type: text/xml
> Headers: {}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:d3478830-e787-4562-8429-6b87919e5f36</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</To>
> <RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://www.w3.org/2005/08/addressing/unspecified</RelatesTo>
> </soap:Header>
> <soap:Body/>
> </soap:Envelope>
> --------------------------------------
>
> System is now shutdown
>
>
> Outbound Message To client is instead sent from server to itself
> ---------------------------
> ID: 5
> Address: https://10.15.2.10:9001/cxf/service
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml
> Headers: {Accept=[*/*], SOAPAction=["
> http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage"]}
> Payload: <soap:Envelope xmlns:soap="
> http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Header>
> <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</Action>
> <MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing
> ">urn:uuid:f7f4fd64-2ade-425a-b32a-27457fb0e8bd</MessageID>
> <To xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">
> https://10.15.2.10:9001/cxf/service</To>
> <wsrm:Sequence xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing"
> xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> soap:mustUnderstand="1">
>
> <wsrm:Identifier>urn:uuid:d10bc416-acd0-40e8-a1bd-f1a1a552c39b</wsrm:Identifier>
> <wsrm:MessageNumber>2</wsrm:MessageNumber>
> <wsrm:LastMessage/>
> </wsrm:Sequence>
> <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"
> soap:mustUnderstand="1">
> <wsse:UsernameToken
> wsu:Id="UsernameToken-5A6B2E8551939059E514593987877012">
> <wsse:Username>xxxxx</wsse:Username>
> <wsse:Password Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText
> ">yyyyyyy</wsse:Password>
> </wsse:UsernameToken>
> </wsse:Security>
> </soap:Header>
> <soap:Body/>
> </soap:Envelope>
> --------------------------------------
>
>