cancel
Showing results for 
Search instead for 
Did you mean: 

Error while sending data to PI from third party

former_member184948
Active Participant
0 Kudos

Hi Experts,

I have created one SOAP to Proxy scenario and have shared the generated wsdl file with the source team.

Now, I have tested the wsdl file I created from PI , using SOAPUI and it worked fine.But when source team is consumig that wsdl file and trying to send data , it says

"The HTTP request is unauthorised with client authentication scheme "Anonymous".The authentication header received  from the server was basicrealm "SAP Web Application Server[SID]"

The remote server returned an error (401) Unauthorised.

->I have also changes the HTTP security level to "HTTP " from "HTTPS without client authentication".

->The url I have shared with them is the one which gets populated when we click on "proposed URL" during wsdl creation.

->I am able to send data using my computer in client vpn and the source system is also now in client vpn.

->Source team is using the same credentials as I am using for sending data to PI.

What I have doubt is that the source system is representing itself as "anonymous", whereas when I am sending data from SOAPUI I choose the authentication type as "basic" and add credential before sending data.So does that mean source team is making mistake while sending data or in PI we need to make any changes?

Thanks in advance.

Accepted Solutions (0)

Answers (5)

Answers (5)

0 Kudos

Hi Dilip,

Did you get any solution for this issue that you have faced?

Thanks,

Omkar

former_member184948
Active Participant
0 Kudos

Guys can anyone please help here? not sure if sender cant send data then problem is with there system or PI? also default IE url is working whereas the manual one made for soap adapter does not work using any soap client

Any idea experts?

former_member184720
Active Contributor
0 Kudos

In addition to Inaki's suggesstion, can you make sure that there is no "*" present under partyname in your communication channel.

Did you try accessing this URL in browser??

former_member184948
Active Participant
0 Kudos

Hi Hareesh,

At present I dont have access to ID screen , but tomorrow I will definelty check that.

As for the brower output for URLs is below ,

when I use IE URL:

and when I use SOAP URL

former_member182412
Active Contributor
0 Kudos

Hi Dilip,

The above SOAP URL is end point URL and result is what we expected (The web service can be reachable)

If you want to generate the WSDL in XI 3.0 refer below document.

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/5f3ee9d7-0901-0010-1096-f5b548ac1...

You need to save the WSDL file in the last step and provide the WSDL file to the third party.

Regards,

Praveen.

former_member184948
Active Participant
0 Kudos

@Praveen Gandepalli

The Source team is using Visual studio and they tell me for them to use any authentication other than "anonymous" they need to enter webservice reference, but they are not able to get reference from my wsdl file/URL.

Earlier I had given them URL of integration engine but now I have given them URL of soap.

http://<host>:50000/XISOAPAdapter/MessageServlet?channel=:BS_Barcode:CC_WS_Sender

still they are getting same error which is attached.

fyi, I was able to send data to PI using URL of integration engine but they were not , at that time too they were receiving the same error which they are receiving now. Any idea why they are not able to send data but I am able to using SOAPUI?

former_member182412
Active Contributor
0 Kudos

Hi Dilip,

You need give them the WSDL url, what is you PI version. You can get the WSDL url like below.

Open sender agreement, Under the menu options.

Regards,

Praveen.

former_member184948
Active Participant
0 Kudos

Thanks Praveen,

Actually I have worked with 7.3 and 7.4 , but this time I have to deal with XI 3.0 version in which such facility is not there to create wsdl using sender agreement .

I have used tools option to create wsdl.

Now I am facing one more problem :

When I use the default URL of http://hostname:8000/sap/xi/engine?type=entry&version=3.0&Sender.Service=BS_Barcode&Interface=http:/...

it works fine ,

but when I use the manually created URL

http://hostname:50000/XISOAPAdapter/MessageServlet?channel=:BS_Barcode:CC_WS_Sender

its giving error

<?xml version = "1.0" encoding = "UTF-8" ?>

<!-- see the documentation --><SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

  <SOAP:Body>

    <SOAP:Fault>

      <faultcode>SOAP:Server</faultcode>

      <faultstring>Server Error</faultstring>

      <detail>

        <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">

          <context>XIAdapter</context>

          <code>ADAPTER.JAVA_EXCEPTION</code>

          <text />

        </s:SystemError>

      </detail>

    </SOAP:Fault>

  </SOAP:Body>

</SOAP:Envelope>

iaki_vila
Active Contributor
0 Kudos

Hi Dilip,

You  URL seems to be perfect, it is according the notation http://host:port /XISOAPAdapter/MessageServlet?channel=p:s:c

You should check your sender SOAP communication channel, in XI 3.0 you have to set your outbound Interface, your outbound interface namespace and the quality of service. In XI 3.0, you can check the communication channel monitoring, via RWB->comoponent monitoring->Adapter Engine. Check there the log of this channel.

Regards.

former_member184948
Active Participant
0 Kudos

Thanks Inaki for taking out time to help,

When ever I use the URL

http://hostname:50000/XISOAPAdapter/MessageServlet?channel=:BS_Barcode:CC_WS_Sender

I can see error messages in channel.But there is no message id or something , which I can open and see logs for that. please see the screen shot.

iaki_vila
Active Contributor
0 Kudos

Hi Dilip,

The request is coming to XI, this is a good point to start.

Please, share your sender communication channel, you can also try to check your configuration from Integration directory, i think in Tools->Test Configuration.

Regards.

former_member184948
Active Participant
0 Kudos

Hi Guys,

Below is the screen shot of the error they are receiving while seding data to PI.

@Mark Dihiansan : Yes you are right , because even after I set it to http, still while sending data from there end one pop-up  comes which asks for credentials.

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Dilip,

Just give them a system user in PI with one of the following authorizations:

SAP_XI_IS_SERV_USER,

SAP_XI_APPL_SERV_USER, SAP_XI_DEVELOPER_J2EE,

SAP_XI_ADMINISTRATOR_J2EE

Regarsd,

Mark

former_member182412
Active Contributor
0 Kudos

Hi Dilip,

Make sure sender system using basic authentication when they calling PI web service.

The example in Java:


BindingProvider bp = (BindingProvider)port;

        bp.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "User");

        bp.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "Password");

Regards,

Praveen.

JaySchwendemann
Active Contributor
0 Kudos

If I may add an advice to the valuable inputs from Mark and Praveen:


You should really stick to HTTPS without Client Authentication (Client Authentication only means that the client must authenticate itself with a certificate, see here HTTP and SSL - SAP Process Integration Security Guide - SAP Library).

HTTP, especially if you providing the web service e.g over the internet should be a no-go.

Cheers

Jens

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Dilip,

The sender SOAP CC always requires a username/password even if you set it to http, https with or without client authentication. You can turn off the username/password though, but it will be for the whole adapter and is not recommended.

Regards,

Mark