cancel
Showing results for 
Search instead for 
Did you mean: 

Receiver SOAP Adapter Issue

Former Member
0 Kudos

Hi All

Scenario: File --> PI --> SOAP

We are trying to send data to an external vendor through PI via Web Service. But it throws an error "SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: invalid username or password." I tested the web service through soapUI using same credentials and it works fine.

Observation:

When running the WS through soapUI in "WSS-Password Type = None/PasswordText" option, its running fine. But if run in "WSS-Password Type = PasswordDigest", I get the same error as run thorugh PI

<SOAP-ENV:Fault xmlns:wd="urn:com.workday/bsvc">

<faultcode>SOAP-ENV:Client.authenticationError</faultcode>

<faultstring>invalid username or password</faultstring>

</SOAP-ENV:Fault>

Looks like the WebService is successful with Plane text and errored out with Digest. Can we run the WS with pwd in PlainText from PI?

I have gone through most of the blogs on SDN but didnot help. Any pointers will be greatly appreciated.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

Please refer TCP Gateway tool provided by SAP.

This helps you to verify the xml data passed from Adapter Engine out through XI.

Verify this XML output with the XML that you are putting into any SOAP Test tool.

They should be identical.

/people/varadharajan.krishnasamy/blog/2007/01/09/troubleshooting-soap-message--xi

Refer this weblog for TCP Gateway.

Regards,

Anurag Garg

Former Member
0 Kudos

Hi Jack,

The issue seems to be with the Client Authentication. Please check the Username and the password or if any type mistakes.

Thanks,

Former Member
0 Kudos

Hi Hareen

Client has only user id and password authentication. The basic validations are already performed. Please letme know if there are any other pointers.

Thank you.

former_member854360
Active Contributor
baskar_gopalakrishnan2
Active Contributor
0 Kudos

Do the following checks. This is my few cents..

a) Basic authentication.. (Just user/password). Are you doing that ? Do you specify https or http in the URL? This shoud be http.

b) Check whether you use https and certificate authentication in soap channel in addition to basic authentication. if so this error might pop up.

c) Basically your password looks like encrypted from PI though it is not required to. So you get this error.

d) If the service requires username token then you need to digest your password. In your case, you dont need to I guess. But check with your client.

Former Member
0 Kudos

Hi Roy

The SOAP Header in SOAP Envelope has this wsse tokens. Can you please let me know if we can achieve this in PI? I selected Security Profile in SOAP Receiver Adapter and made necessary changes in Receiver Agreement. But nothing worked out. Do you think I need to make any other changes?

<wsse:UsernameToken wsu:Id="Example-1">

<wsse:Username> ... </wsse:Username>

<wsse:Password Type="..."> ... </wsse:Password>

<wsse:Nonce EncodingType="..."> ... </wsse:Nonce>

<wsu:Created> ... </wsu:Created>

</wsse:UsernameToken>

Thank you

Former Member
0 Kudos

Hi Bhaskar

a) We have only basic authentication and I'm connecting to https endpoint

b) I downloaded client SSL certificate into TrustedCAs so that ChainVerifier can pick it up.

c) This is true and hence I'm looking for options not to encrypt the password. Any pointers?

d) Client need the username token as they use in soapUI but they dont want it in digest mode

Any other options to check please?

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>a) We have only basic authentication and I'm connecting to https endpoint

Do the client need both basic authentication in addition to https? If so then it is fine. Otherwise why do u want https?

b) I downloaded client SSL certificate into TrustedCAs so that ChainVerifier can pick it up.

That is right. Import client certificate.

>Client need the username token as they use in soapUI but they dont want it in digest mode

This means you need to use WSSE. SOap adapter does not support. YOu might want to do using axis api in java mapping to add username token or XSLT Mapping.

Former Member
0 Kudos

Hi Baskar

Yes I think I need to use WSS. By Axis API, do you mean to use AXIS adapter? If so, I tried that but was not successful. If you suggest to use Java/XSLT mapping, do you have any snippet of the code please?

Thank you

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Since the requirement is username token text and not password digest, you can try using XSLT mapping. YOu can create simple xslt mapping as required and import in the operation mapping .

XSLT mapping for beginners. This might be helpful

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/000ee4d0-be91-2d10-8aaf-ff8045bdd...

Former Member
0 Kudos

Hi Bhaskar

We resolved the problem using the AXIS adapter.

Thanks for all your replies.

naveen_chichili
Active Contributor
0 Kudos

Hi Jack,

-->Try to test the webservice from other UI tools like Altova, soap scope etc. Then try to do the same from PI. Your payloads should exactly look like same from all the tools. I think there is a mismatch what WS is expecting and what PI is sending.

-->If this is asynchronous scenario , we have to mention QoS EO(Exactly Once) in soap channel.

Check below links:

/people/shabarish.vijayakumar/blog/2008/01/08/troubleshooting--rfc-and-soap-scenarios-updated-on-20042009

/people/stefan.grube/blog/2006/09/21/using-the-soap-inbound-channel-of-the-integration-engine

http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024...

Thanks and rgards,

Naveen