cancel
Showing results for 
Search instead for 
Did you mean: 

External WebService Definitions linked to Service Interface in PI 7.1

Former Member
0 Kudos

I have a WSDL defining datatypes and services with port locations etc... that I have imported into PI7.1 Enterprise Service Builder. This defines a service that I would like to use in my Aris models for a SOA example. However I guess I need to make a "Service Interface" from the "External Definition" but I can not find where to click to do this. I can not believe this is so hard so I must be clicking in the wrong place.

So how do I bind in existing Services into my Middleware?

Thanks in advance,

Doug

Accepted Solutions (1)

Accepted Solutions (1)

aashish_sinha
Active Contributor
0 Kudos

Hi,

I hope you must be searching for the "External Definitions" creation step to link you WSDL to your PI system and use to create service interface. To get "External Definitions" , right click on your URN and click on new. Then go to "Interface Objects" and select External Definition and provide name and everything.

Also when you create Services interfaces, the wsdl part automatically get generated.

regards

Aashish Sinha

Edited by: Aashish Sinha on Oct 2, 2008 12:18 PM

Former Member
0 Kudos

Thanks for the response.

OK here is my Actions:

Start Enterprise Service Builder.

Right click my Namespace and click New.

Select Interface Objects -> External Definition

Enter name

Create.

Select File pop up

Select my WSDL.

I have my External Definition Defined.

However I need a Service Interface.

I can create new service interface and define new messages, and data types etc... but my service interface is defined in the external definition, I just want to use it.

Thanks in advance,

Doug

Former Member
0 Kudos

I have done the same thing with XI and got the same result, so this is not specific to PI 7.1. I must be missing something very basic here as I can not see how to turn External Definitions into usable Service Interfaces.

Thanks in advance,

Doug

Answers (3)

Answers (3)

Former Member
0 Kudos

Thanks for the answers. I found this eventually and the problem was the Message type drop down list in the message selection. This drop down list filters the message types that are selectable. So you need to import the external definition and then select the message type external definition in the drop down list, and then you can select the external definition types.

I was just not clicking in the right place.

Thanks,

Doug

Former Member
0 Kudos

Hi..

After importing the wsdl file to external definitions, no need to create message types and data types. Just create service interface. If you want to use it in the receiver side, use Inbound Asynchronous, and select your wsdl there.

Regards,

Leela

Former Member
0 Kudos

I found this blog which is basically exactly what I am trying to do.

In this article the WSDL is imported but:

"

At my first try i used the messages getDistanceRequest and getDistanceResponse in my mapping but later found out that it wasnt the message structure that the webservice expected.

To get the structure of the relevant request and response messages you can test the webservice with an editor like XML Spy.

"

This I understand as the Service interfaces, messages and datatypes need to be manually defined, and can not be read directly out of the WSDL.

Is this true?

Thanks,

Doug

Former Member
0 Kudos

Hi,

With the Exterbal Definition, you need to create the Message interface in PI and need to use thsi message Interface , to generate WSDL file with SOAP attachement in ID.

Using this WSDL in XML Spy you can send the SOAP request to teh searvice,

I think i am very late, but just wanted to answer your question.

Thanks

Priyanka

Former Member
0 Kudos

Hi

This I understand as the Service interfaces, messages and datatypes need to be manually defined, and can not be read directly out of the WSDL.

Is this true?

Yes you have to manually create service interface using the external definition. It cannot be read directly from WSDL as WSDL you import will again be converted to PI understandable WSDL and PI will rely on the namespace and naming of service interface you create in IR for communication.

You can import the external definition and then use this in service interface. No need to create DT, MT etc.

Thanks

Gaurav