cancel
Showing results for 
Search instead for 
Did you mean: 

Adding HTTP header Authentication for a SOAP message.

Former Member
0 Kudos

Hi Experts,

My Senario is Proxy to SOAP Synchronious.

Earlier the Web Service used by the 3rd party is open source but now they want to maintain it as a Secure Web Service with username and password with base64n encryption.

Please suggest a way for me to handel this in PI .

Thanks,

Trinadh

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Trinadh,

Please go through the below link this might help you.

Answers (1)

Answers (1)

former_member186851
Active Contributor
0 Kudos

Hello,

You can add a SOAP Header using XSLT/JAVA mapping.

And one more option is using Bean in the communication channel.

Former Member
0 Kudos

Hi Raghuram,

I don't want to ADD a SOAP header but I need to ADD HTTP Header please let me know the posibilites.

The Senario is ECC --> PI --> 3rd Party

Proxy to SOAP Sync Communication.

now I need to add the Authentication in HTTP header not in SOAP header. Please help me with your answeres.

Thanks,

Trinadh

former_member186851
Active Contributor
0 Kudos

Hello Trinadh,

So 3rd party system is HTTP system?

Can you please give the Sample HTTP Header

Former Member
0 Kudos

HI Raghuraman,

The 3rd Party System is a Web Service and we are coonecting using the SOAP Adaptor. I tried to add the HTTP header using AXIS Adaptor unfortunately the Jar files were not deployed in our landscape. So am searching for new optins. I don't have the HTTP sample Header.

Client had sent me a doc in which he has implemented this using a SOAP UI tool by adding HTTP header there, he defined a HTTP Header and gave the base64n Encrypted username & Password as a value for the header.

I was not able to attached that doc here.

Thanks,

Trinadh

Muniyappan
Active Contributor
0 Kudos

paste your soap message here which you tested using soap ui.

you can give a try to this blog for your requirement

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Trinadha,

In the advanced tab of the soap receiver adapter, check Use ASMA and then check Variable Transport Binding.

In the Variable Header, enter your header name there. However, as for its value, it is populated via UDF.

Regards,

Mark

Former Member
0 Kudos

HI Mark,

Thanks for the help. I have implemented as you suggested.

Below is the UDF am using can you please check and let me know if I need to change anything.

DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);

DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP","XHeaderName1");

conf.put(key,"bXhpbnRhZG06TUB4YWRtaW4=");

return " ";

IN the CC in XHeaderName1 i have given the Header name let me know if this is enough.

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Trinadha,

Your code looks okay. It is time to test it

Regards,

Mark

0 Kudos

Hi Trinadh,

I am currently facing the same case as you, did you manage to solve the case. I have used ASMA & UDF but still not working till now. please advice from you, thank you.

Regards,

Dipa