cancel
Showing results for 
Search instead for 
Did you mean: 

Consume Webservice provide by PI

former_member1038687
Active Participant
0 Kudos

HI friends! I need a little help. I'm starting with PI and made my first PI interface with this scenario:

Webservice -> PI -> RFC(ECC)

I used XML Spy to test with url http://xxxxxx:51000/XISOAPAdapter/MessageServlet?channel=:BS_SITE:Channel02_WstoRFC_i and works great. So now I'm trying to use this webservice with the third party system that will consume this web service. In setup I have to inform URL for WSDL and METHOD. I tried use URL WSDL from Sender Agreement but the third party system don't recognize. When I use this URL in web browser WSDL open, but PI password is asked.

How can I do this? I'm missing something?

Thanks for any help!

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Fulvio,

There are two url's in the end in the sender agreement when you do the display WSDL. One of them is the endpoint and the other one is the wsdl url. Did you give them the one for WSDl ?

Thanks,

Praveen.

Answers (6)

Answers (6)

former_member1038687
Active Participant
0 Kudos

I tried to contact Basis team to setup service registry but they are very busy with a down system, só I'll try to do without Service registry.

I filled the third party system as following:

WSDL URL:
http://XXXXXXX:51000/dir/wsdl?p=1_e76cc1e6072c32abacf9fd880a70bcaa_portTypeBindingService

PROXY Username: fulvio
Proxy Password: xxxxxx

I'm getting this error: "The remote server returned an error: Gateway timeout"

The third party system don't have a field for username and password of PI system, only for a proxy. When I tested in XML SPY PI password is required, and when I use put WSDL URL at browser they ask me for a PI system password too. Maybe password is the problem, what do you think?

Former Member
0 Kudos

Hey Fulvio,

Saw this thread just now, though it would be a very late response on this one.. but still here goes the solution-->

If the third party system don't have field for username and password then you only have following 4 options:-

  • [This one's ugly :)] Add username & password in HTTP URL as in following format:

  http://username:password@hostname:portname/dir/wsdl?p=1_e76cc1e6072c32abacf9fd880a70bcaa_portTypeBin...

     or

http://hostname:portname/dir/wsdl?p=1_e76cc1e6072c32abacf9fd880a70bcaa_portTypeBindingService&userna...]

     in your case it should look like :-

     http://fulvio:xxxxxx@hostname:portname/dir/wsdl?p=1_e76cc1e6072c32abacf9fd880a70bcaa_portTypeBinding...
      or
http://fulvio:xxxxxx@hostname:portname/dir/wsdl?p=1_e76cc1e6072c32abacf9fd880a70bcaa_portTypeBinding...

  • Other possible work around would be to save your wsdl doc to a local file and point to it with link as --> file://url

  • the another option is to Provide a WSDL file as mentioned by Greg.

Hope this helps.

Regards,

Nipun

former_member1038687
Active Participant
0 Kudos

Thanks for answers friends. I'm already test with XML Spy and works great (with manual password input).

In Sender agreement I used 'Display WSDL' and I get the following URL: "http://XXXXXXXXX:51000/dir/wsdl?p=1_e76cc1e6072c32abacf9fd880a70bcaa_portTypeBindingService" . We tried use this URL in third party system but didn' work.

I tried publish in SR but I'm getting this error: "Could not establish connection to Services Registry; configure connection to Services Registry in SAP NetWeaver Administrator and try again". What is service registry? I always need to publish Sender Agreement in service registry to able interface work?

Thanks again!!

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi,

service registry is the place where we can publish our services,Service registry is nothing but UDDI server. search in sdn you will understand the functionality of Service registry.

coming to your issue, before publishing sender agrement in to service registry first you have to configure it. it is very simple.

request basis team to configure Service registry .

Regards,

Raj

former_member184681
Active Contributor
0 Kudos

Hi Fulvio,

No, you don't have to publish your web service to services registry, just use the .wsdl file instead of downloading web service description from Services Repository directly.

Hope this helps,

Greg

rajasekhar_reddy14
Active Contributor
0 Kudos

check below blog..

baskar_gopalakrishnan2
Active Contributor
0 Kudos

You are hosting webservice and let your client to consume webservice. You create WSDL from sender agreement and share it to the client. The WSDL has details about your service interface operation as well WSDL URL. You might also need to provide service user login information. To consume your webservice, client has to pass user and password information. Hope that helps.

Refer SDN for soap sender information.

former_member184681
Active Contributor
0 Kudos

Hi,

You can save the .wsdl file generated from your sender agreement as a local file and deliver this file to the third party - they will not require PI user for setup in this case.

Hope this helps,

Greg

ernesto_cruz
Participant
0 Kudos

Hi Friend!

This link explain the scenario

http://www.saptechnical.com/Tutorials/XI/WebService2RFC/page1.htm

Regards!