cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Receiver with domain user.

former_member183909
Active Participant
0 Kudos


Hi

I have a SOAP Receiver (using HTTP protocol and message protocol SOAP1.1).  I need to provide a domain user but I get an authenication error.

The same request sent via SOAPUI works.

I think that the HTTP SOAP Receiver is not able to use a Domain\userid

Could it be?

Works via SOAPUI

Accepted Solutions (1)

Accepted Solutions (1)

azharshaikh
Active Contributor
0 Kudos

Hello Jonny,

I believe you need to use SOAP Axis for connecting as it supports NTLM Auth:

Check the following for details:

Configuring the Receiver Axis SOAP Adapter - Advanced Adapter Engine - SAP Library

Regards,

Azhar

former_member183909
Active Participant
0 Kudos

thanks  I have now tried with Axis and I get this error below    - I know the password is correct because I have very carefully cut and pasted into both SOAPUI and then into SAP - so I know the password is correct.

So now trying via Axis I get errors such as;

Axis: invoking handler
trp of java:com.sap.aii.adapter.axis.ra.transport.http.HTTPSender

Axis: error in invocation: (401)Unauthorized

Transmitting the message using connection JPR failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: (401) Unauthorized

former_member183909
Active Participant
0 Kudos

Using the SOAP NTLM Axis authentication it was getting these errors when running the interface and it was attempting to connect.

Axis: invoking handler trp of
java:com.sap.aii.adapter.axis.ra.transport.http.CommonsHTTPSender

Exception caught by adapter framework: handler is not instantiated  Transmitting the message using connection JPR failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException:
org.apache.axis.ConfigurationException: handler is not instantiated

Discovered that the deployed SDA com.sap.aii.af.axisproviderlib.sdahad higher versions of the required jars and was missing the commons-httpclient-3.1.jarSo I rebuilt and redeployed the SDA (see SAP Note 1028961 on how to prepare axisproviderlib.sda for Adapter Framework).

I can now use com.sap.aii.adapter.axis.ra.transport.http.CommonsHTTPSender instead of default
com.sap.aii.adapter.axis.ra.transport.http.HTTPSender as the transport handler in the module configuration. The NTLM
authentication with a username as domain\username
in the channel configuration should now work........ as if right !

I now get this error below  - it could be a problem at called end - but I can still connect via SOAPUI with same credentials  - but simply refuses to work from my PI channel 

MP: processing local module localejbs/AF_Adapters/axis/HandlerBean

Axis: error in invocation: (500)Internal Server Error

MP: exception caught with cause (500)Internal Server Error

Exception caught by adapter framework: (500)Internal Server Error

Transmitting the message using connection JPR failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException:
(500)Internal Server Error.


NOTE also that the Payload extraction is set to "SOAP Body Child"  - even though I do not have any attachments  - but I noticed that if I did not do this then message sent out from the Adapter seems to strip off parts of the message eg,. in my case the <ns1:GetDataRequestMessage... in fact if I have this set to just SOAP Child everything is stripped off.

former_member183909
Active Participant
0 Kudos

It is because this SAP Adapter and the required Axis components in particular does not support NTMLv2  - probably due to commons-httpclient-3.1.jar.    The webserver that I am attempting to connect to has it's security local policies, minimum session security for NTLM set to NTLMv2.

I was trying to get the server changed to allow for NTLM  - just to prove this point.  I will let you know if this indeed is the case.

BUT  - I have now just found a SAP note that seems it should resolve the NTLMv2 problem.  2062567 - Integration of Apache HttpClient library in the PI Axis adapter.

Add the relevant Apache HttpClient and log4j libraries to

com.sap.aii.af.axisproviderlib.sda:

  1. From https://hc.apache.org/downloads.cgi download
    HttpClient library (version 4.3.4 or higher)
    and HttpCore library (version 4.3.2 or higher).
  2. From http://logging.apache.org/log4j/1.2/download.html download
    log4j library (version 1.2.9 or higher).

I can't try this the new module java:com.sap.aii.adapter.axis.ra.transport.http.ApacheHTTPClientSender has the requirement to install "XI ADAPTER FRAMEWORK SCA" for 7.31 SP0015 and that is not even released yet

Former Member
0 Kudos

Hello Jonny,

I ended up in the same fate with you.

Did you managed to get NTLM v2 working with the Axis adapter with regards to the SAP note 2062567 ?

former_member183909
Active Participant
0 Kudos

No.  as mentioned SP0015 had not been released when I looked.  

Former Member
0 Kudos

Hello Jonny,

I saw that SP0015 was released for XIAF a few days back

Answers (2)

Answers (2)

mhernaga
Member
0 Kudos

Hello, could you resolve the issue??

Former Member
0 Kudos

Hi Jonny,

Please mention the error that u r getting. Is the domain part of the target URL as well? If that is the case then we need not specify the domain explicitly in the user name.

Regards,

Sriram

former_member183909
Active Participant
0 Kudos

I test this via SOAPUI and it works.   With the same URL and userid credentials it does not work.

No the domain is not part of the URL

The error is

SOAP: Error occurred:
com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP:
Response message contains an errorXIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP
401 Unauthorized

I suspect it is because the Adapter is not able to interprete that I have both a Domain and a Userid provided for authenication.

What I want to know if somebody has got the same thing working ?.  same protocols etc.   If not - then what did they do?