Skip to Content
0

PI SOAP Adapter Sender login authentication by URL

Dec 19, 2016 at 06:31 AM

333

avatar image
Former Member

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?

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

4 Answers

Best Answer
Frederick-Claud Dimmer Dec 14, 2017 at 09:52 AM
0

Hey Former Member

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.

Show 1 Share
10 |10000 characters needed characters left characters exceeded
Former Member

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.

0
Adam Kiwon Nov 22, 2017 at 01:41 PM
3

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

Show 1 Share
10 |10000 characters needed characters left characters exceeded

Thanks Adam,

this is working perfectly.

1
avatar image
Former Member Dec 21, 2016 at 07:08 AM
1

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?


Show 1 Share
10 |10000 characters needed characters left 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.

1
Evgeniy Kolmakov Dec 19, 2016 at 07:54 AM
0

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.

Share
10 |10000 characters needed characters left characters exceeded