Skip to Content
avatar image
Former Member

Implementing WSS Username token standard in soap receiver

I am on PI 7.11 and have a receiver soap comm. channel for accessing an external vendor's webservice. Their requirement is to use Web Services Security Username Token authentication scheme - as an example the soap message must look something like:

<?xml version="1.0" encoding="UTF-8"?>

http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=" http://www.w3.org/2001/XMLSchema" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance">

<soapenv:Header>

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1">

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

<wsu:Created>2007-07-06T13:51:53.860Z</wsu:Created>

<wsu:Expires>2007-07-06T13:56:53.860Z</wsu:Expires>

</wsu:Timestamp>

<wsse:UsernameToken>

<wsse:Username>ztest</wsse:Username>

9xxxxxxxxxxxxxxxxxxxxxxxxxx=http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">9xxxxxxxxxxxxxxxxxxxxxxxxxx=>

<wsse:Nonce>Wyyyyyyyyyyyyyyyyyyyyy==</wsse:Nonce>

2007-07-06T13:51:53.844Zhttp://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2007-07-06T13:51:53.844Z>

</wsse:UsernameToken>

</wsse:Security>

</soapenv:Header>

<soapenv:Body>

...

</soapenv:Body>

</soapenv:Envelope>

I would be interested in knowing how this type of soap msg / wss has been implemented by anyone. The SAP documentation at http://help.sap.com/saphelp_nwpi711/helpdata/en/48/ce4829a0d7154ee10000000a421937/frameset.htm seems vague (at least to me it is). I saw another post (handling-soap-header-using-soap-receiver-adapter) thats comparable but not sure what the best way to go is - is it a combination of soap adapter Module settings, xslt mapping, Axis adapter or other approaches...

Any information on this is greatly appreciated.

Regards,

Keith

Edited by: Keith Mollet on Apr 26, 2011 3:56 PM

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • Apr 26, 2011 at 03:43 PM

    Username token is one of the user authentication method in web service. SOAP adapter does not support this directly. Axis framework references open source api Apache axis which supports User name token.

    One option is to use Axis adapter and see you can able to create header with username token as you described. second option is use XSLT mapping and create SOAP Header for the username token.

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Hi PI gurus.

      I followed the same steps as mentioned above. Getting error as

      Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: WSDoAllReceiver: security processing failed (actions number mismatch)


      Could you please help me on this?


      Thanks,

      Nag.