Skip to Content

PI SOAP Adapter Sender login authentication by URL

I configured an SOAP adapter based scenario, and with the Sender communication channel, system exposes Webservice by URL, and our partner will use this URL to consume this Webservice. Now the problem is, our partner has to provide username and password other than the URL to access the our system. Is there a way to let our partner add the username and password at the end of URL as a suffix?

Our URL is like http://piserver:port/XISOAPAdapter/MessageServlet?channel=:component name:communication channel&nosoap=true, which should be REST style in my opinion.

How could I do to make it possible to expose URL like http://piserver:port/XISOAPAdapter/MessageServlet?channel=:component name:communication channel&nosoap=true&Username=XXXX&Password=xxxx?

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

4 Answers

  • Best Answer
    Dec 14, 2017 at 09:52 AM

    Hey Bull Chen

    in case you're using HTTP-BasicAuthentification you could also pass the credentials using the following structure:

    https://gooduser:secretpassword@www.example.com/webcallback?foo=bar

    Nevertheless you should allways use TSL. Otherwise your account can be attacked easily. In case you'd like to learn more on this topic, you should check the following resource. Furthermore I have to mention that this method is depricated and shoud therefore not be used anymore! I'd personally prefer to apend the credentials in the HTTP header.

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Dimmer,

      thank you for your answer, although we decide to work with TSL, but the reference resource you provided is valuable to me, very good knowledge base about how HTTP Authentification works.

  • Nov 22, 2017 at 01:41 PM

    Hi Bull,
    For Java Adapters as SOAP please use j_user and j_password to transmit the username and password (works for HTTP_AAE and REST as well of course). But I recommend using the credentials in the HTTP header of course...

    Best regards, Adam

    Add comment
    10|10000 characters needed characters exceeded

  • Dec 21, 2016 at 07:08 AM

    Now I set the URL like below, and test it via SOAP UI from client, but the error of Unauthorized remains in testing.

    Any other things in PI I should do?

    Add comment
    10|10000 characters needed characters exceeded

    • After checking in SOAP UI I found out that it stored my previous credentials though I removed it in Request window.

      So I guess it's not possible to send user authentication data in URL.

      Regards, Evgeniy.

  • Dec 19, 2016 at 07:54 AM

    Hi Bull!

    You could try to modify service endpoint URL in your WSDL like this:

    http://xxx.xxx.com:50900/XISOAPAdapter/MessageServlet?senderParty=&senderService=XXX&receiverParty=&receiverService=&interface=XXXXXXX&interfaceNamespace=http://xxx.xxx/xxx&sap-user=<user name>&sap-password=<user password>

    but I wouldn't recommend this way due to security reasons.

    Regards, Evgeniy.

    Add comment
    10|10000 characters needed characters exceeded