cancel
Showing results for 
Search instead for 
Did you mean: 

how to call wsdl directly ?

0 Kudos

Hi all, i have:

1. My PI's version is 7.0

2. outbound, sync interface and sender agreement for it.

I need to call my outbound interface directly, for example via XMLSY or something else (open wsdl and generate request), so i don't know how to do this. I understand that i should publish WSDL somewhere, i've read about UDDI, but i don't have permissions to configure it. Is there another way to solve it ? Please help.

Thanks.

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi

are there options for PI 7.3?

I am also trying to find a way how to make a WSDL accessible directly from PI (7.3)?

I would be reasonable to have a HTTP Sender channel - and send the request to a path in WebUI (that would answer with the WSDL content). So far no success.

Heiko

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>>. I understand that i should publish WSDL somewhere, i've read about UDDI, but i don't have permissions to configure it. Is there another way to solve it ?

PI 7.1 only supports service registry.

PI 7.0, follow this step...

1)Go to ID, Tools -> Display Wsdl

2) popup window open... Dont use proposed url...

3) Use this URL

http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel

Where host - hostname, port ex 50000

party don have .. dont use it

service - sender business sytem or business service Ex: BS_SOURCE

channel - (sender) communication channel

Example somethng like this

http://biw7:50400/XISOAPAdapter/MessageServlet?channel=:BASKAR_SOURCE:cc_soapsendersc3

4)next screen input sender interface and sender namespace

5)Finally save the WSDL. Thats it.

6) WSDL using XMLSPY or SOAP UI.

Load the saved WSDL in xmlspy or soapui.. It will identify the WSDL URL automatically from the WSDL content. In wsdl soap: address Location tag, you will see URL for the webservice. SOAPUI or XMLSPY will automatically find it .

WHile testing, It will prompt user name/password. If you dont enter, you will get 401 error unauthorized user. So use PI Service user credentials and test it. That's it.

Hope it helps.

0 Kudos

thanks all for help, I and my colleagues have decided to solve this problem through Tools->Define Web Service (i mean by static generation of wsdl file), becouse there is no apportunity to get WSDL URL in PI 7.0, it is only for 7.1 and higher.

Former Member
0 Kudos

Hi Baskar,

I am developing a SOAP- PI- PROXY scenario. Now i have to give WSDL file and end point URL to endusers at sender system to consume my webservice.

There are two ways to generate WSDL ie., 1) from sender aggrement and 2) Tools option in menu bar.

I have choosen the Tools option from menu bar and selected url in the format http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel and generated the wsdl file. At the end of the wsdl file i found the location like http://host:port/XISOAPAdapter/MessageServlet?channel=:CSLDEV_ED5:TPT_SOAP_SND_TradingOrderRequestCSL&version=3.... . When i test this end point location url in browser, i can see a message as Message Servlet is in Status OK.

1) What does this mean ?

Even if i include ?wsdl at the end of the above url in a browser, i can't see the structure of the message.

2) How can i see the structure of the message

Later i have generated the wsdl from sender aggrement option. Here it shows wsdl url as http://host:port/dir/wsdl?p=sa/dd710cb655393512b0d1f92874ccb307 and end point location as http://host:port/XISOAPAdapter/MessageServlet?senderParty=&senderService=CSLDEV_ED5&receiverParty=&recei... in last part of wsdl file.

3) What is the difference between these two methods or types of generating wsdl file.

4) Which wsdl url should i give it to end user at sender system.

Regards

Koti Reddy

udo_martens
Active Contributor
0 Kudos

Hi,

>I need to call my outbound interface directly

A outbound interface is (in the view of PI) called by an application, the message is send to PI. So, you need to trigger it from sending system. This is individual for the sending system.

Or did you want to call the inbound interface directly? If the inbound application provides a web service (a wsdl) you can access it directly with XML Spy or SOAP UI.

Regards,

Udo

Former Member
0 Kudos

Hi ,

Create WSDL in ID by using:

Tools--> Display WSDL.. follow the screens.. and at last save WSDL file on your system..

now if you want to hit PI system by using that WSDL then you need to have atlest one application capable enough to consume WSDL and hit to PI..

it can be done through soapUI application .for soapUI following is the way..

-Open soapUI and click

New soapUI projecton screen provide project name and select WSDL and click ok.

-It will create request for this WSDL..

-Provide user name and password on down left corner

-Click create request and provide input data and click green arrow button to submit request .. this call will hit PI system.

Thanks,

Bhupesh

0 Kudos

hi Bhupesh, yeas you are right, but if my interface is changed then i have to regenerate my wsdl file through Tools--> Display again, but i don't want to do it, i want to get this changed wsdl file automatically, i mean changes reflection, if you understand what i mean.

0 Kudos

look at this article

http://www.riyaz.net/blog/pi-71-publishing-service-interface-as-a-webservice-in-sr/technology/sap/52...

i need the same thing like "WSDL URL" like on the picture (I have PI 7.0 so there is no such apportunity), so i don't know how to get WSDL URL in PI 7.0

Former Member
0 Kudos

hi,

I think there is no services registry in PI 7.0 that's why you can't find it. go with the option of the previous answer