Forum Discussion

epolkerman's avatar
epolkerman
New Contributor
15 years ago

WS-RM does not use an absolute URI for wrsm:Identifier

Hello,

In the project I'm currently working on, we are 'connecting' a Webservice to an IBM WebSphere DataPower system. The message exchange between the Webservice and the deployed incoming message service on the DataPower is configured to use Web Services Reliable Messaging version 1.1.

For test purposes we wanted to use SoapUI. However with SoapUI it isn't possible to setup a proper wsrm sequence. SoapUI uses the following SOAP message for the CreateSequence:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Action>http://docs.oasis-open.org/ws-rx/wsrm/200702/CreateSequence</wsa:Action>
<wsa:MessageID>uuid:f08712ac-e1de-4cf5-a136-6cfc4ea9a3db</wsa:MessageID>
<wsa:To>http://127.0.0.1:8088</wsa:To>
</soapenv:Header>
<soapenv:Body xmlns:wsrm="http://docs.oasis-open.org/ws-rx/wsrm/200702">
<wsrm:CreateSequence>
<wsrm:AcksTo xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Address>http://www.w3.org/2005/08/addressing/anonymous?id=015067da-665b-4e6a-bacb-1ed8219cf2c1</wsa:Address>
</wsrm:AcksTo>
<wsrm:Offer>
<wsrm:Identifier>blah</wsrm:Identifier>
</wsrm:Offer>
</wsrm:CreateSequence>
</soapenv:Body>
</soapenv:Envelope>

The DataPower system cannot handle the value 'blah' for the <wsrm:Identifier> element in the CreateSequence message from SoapUI, because the DataPower system expects a value from type xs:anyURI.
Also the approved standard from Oasis prescribes:

/wsrm:CreateSequence/wsrm:Offer/wsrm:Identifier
The RM source MUST set the value of this element to an absolute URI (conformant with RFC3986 [URI]) that uniquely identifies the offered Sequence.

Proposed solution:
Change the fixed value 'blah' in a absolute URI, or even better, a variable on the WS-RM tab on the SOAP Test Request teststep. It would be a great help if we can continue to use this nice testtool for our planned tests

Regards

4 Replies

  • Hi!

    I've hopefully fixed the default identifier to be in the correct format in the upcoming nightly build, please let us know otherwise.

    I've also added the configuration option to our backlog, thanks!

    regards,

    /Ole
    eviware.com
  • epolkerman's avatar
    epolkerman
    New Contributor
    Hi Ole,

    Thanks for your fix. It works as expected and now the default identifier complies to the RfC.

    But now the next problem arises. SoapUI uses the optional <wsrm:Offer> element in de CreateSequence message. The only child element SoapUI uses is <wsrm:Identifier>. But if the RM source uses the offer part in WS-RM version 1.1 (and 1.2 also) in the CreateSequence, also the <wsrm:Endpoint> element must be included. Below follows an example (with only mandatory elements):

    <wsrm:CreateSequence>
    <wsrm:AcksTo> wsa:EndpointReferenceType </wsrm:AcksTo>
    <wsrm:Offer>
    <wsrm:Identifier> xs;anyURI </wsrm:Identifier>
    <wsrm:Endpoint> wsa:EndpointReferenceType </wsrm:Endpoint>
    </wsrm:Offer>
    </wsrm:CreateSequence>

    Because of the optionality of the <wsrm:Offer> element, it would be nice if that part is also configurable in SoapUI.

    Question: should I make (in the future) a new post? The newly described problem has in fact nothing to do with the original problem description.
  • Thanks for this!

    I'll try to get this fixed and will let you know.

    Please post future ideas either in the Feature Requests or Bugs forum, whichever you find appropriate :-)

    regards!

    /Ole
    eviware.com
  • oysteigi's avatar
    oysteigi
    Occasional Contributor
    Any update on this? I tried SoapUI trunk with WS-RM 1.1 against a service on WebSphere Application Server 7.0. It fails to create a sequence because Endpoint is missing.

    Looking at the message sent from SoapUI, it is actually an invalid CreateSequence message (used Sopaui schema validation).

    I'd be happy to help if you need any support!

    -Øystein