on 03-31-2011 1:39 PM
Hi
I have a scenario where a front end application is calling a web service exposed by PI 7.11 and PI is forwarding the call to the backend web service. That is, a SOAP sender adapter and a soap receiver adapter.
Now, I would like to transfer the username, which the PI exposed web service is called with, to the backend web service.
I previously did this by using a UDF where I picked up the username like this and mapped the username to a field in the request message when calling the backend web service:
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP", "SRemoteUser");
String WSuser = conf.get(key);
return WSuser;
However, I would like to avoid this method and in stead e.g. use either a query string like http://xxxxx:6571/ISBWS/soap/ISBCore?username=mikael or maybe transfer the username in the http header in some way.
So my question is: what are my options and how do I set it up?
BR MIkael
Hi,
Did you check this link [http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/50d07121-07a5-2c10-5280-a081de9b851c?quicklink=index&overridelayout=true]
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for the reply.
However, PI is calling an external web service and the idea is not to use the initial user to log on to the backend webservice using principal propogation but merely to transfer the username to the backend webservice e.g. in the url or in the (soap)header in some fashion.
Apparenty sending user name details in query string is not best practice in webservice. Thats why WSDL does not cover user credentials inside. Webservice deals with message level security , transport level security, encryption , certificate authentication , username token etc
If you want to use http query string in the soap receiver target url try as below and see how that helps... somthing as below..
example: http://host:port/jsppage?userid=test or use xslt mapping or java mapping create soap header as you want and specify username over there.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.