cancel
Showing results for 
Search instead for 
Did you mean: 

PI 7.3, updating service interfaces?

Former Member
0 Kudos

Hi

I am upgrading out company's web services from XI 3.0 to PI .7.3 and have came across a strange limitation (it must be a limitation of me, not PI).

I have imported WSDL of our web services to PI and either I import it as "external definition" on "service interface" it boils down to having a service interface with all the required operations. -- How to I update the service interface?

I can export the WSDL and I can change some properties, but seems that I can not change it. Delete and import again. It breaks a lot of dependencies for a moment but so far nothing serious. I must admit - I don't like this way of updating a WSDL description.

Any hints about what am I missing? How to update a service interface?

Thanks!

Heiko

Accepted Solutions (1)

Accepted Solutions (1)

iaki_vila
Active Contributor
0 Kudos

Hi Heiko,

Have you tried to use the model pattern SAP XI 3.0 compatible?

Have you tried to export the .tpz and import later to SAP PI?, in transition between SAP XI 3.0 and SAP PI 7.1 we havent problems doing like this.

I suppose that you used "wsdl" in External Definitons on SAP XI 3.0.

Regards.

Former Member
0 Kudos

Hello Iñaki Vila

I have a wsdl file and in ESB I have used "Tools" -> "Import Service Interface ..." and the resulting object of type "Service Interface" ... there is no "import WSDL" button that I would expect.

As what Monika suggested. If I import  wsdl to PIs ESB as a "external definition" I have a option to say "generate Service Interfaces"... and I have option to update external definition. But when I update the external definition (some elements are changed, operation added or removed) this does not update the service interface objects.

As there are about 10 service interfaces, each having 3 - 20 operations... it would be extremely hazardous and error prone to do it this ways.

I must be missing something really obvious.

H

Former Member
0 Kudos

Hi

I have gone through some issues ... and to clarify the situation. Seems that I must import my WSDL as "External definition". And add/remove operations to corresponding Service Interface object manually.

So previous replays were quite helpful to get me on track.

Now there is a side effect. I want to be able to export the wsdl without having to deploy it to some other location. As WebUI presents Service Interface objects...this seems to be the solution - an URL to WebUI to expose the actual interface ... but. Service Interface definition does not carry all the information that is needed from a wsdl - the binding and service parts are missing. I have these in my wsdl that I imported as "external definition" but WebUI does not show the contents of "External definitions" ... any ideas how to access the "external definition" contents with a URL?

Any hints?

iaki_vila
Active Contributor
0 Kudos

Hi Heiko,

If i understand right your question, you want to call your scenario from webUI and you need an WSDL for this. You have two options:

1. Publish your service in the service registry

From the Integration Builder: in the sender agreement

2. Generation the wsdl directly:

From the Integration Builder:

In XI:

In PI:

On the next window you set the URL :

http://ProxyMaquina/XISOAPAdapter/MessageServlet?channel=Party:CommunicationComponet:CommunicationCh...

And you continue with the wizard in order to obtain an WSDL file

Regards.

Former Member
0 Kudos

Hi

Thanks for reply. I think that publishing to service registry would be my exit. As I want to be able to access the wsdl with an URL any time (without user interaction, possibly from a remote system).

But when I start publishing with my integrated configuration... I get an error: "Cannot Display WSDL. Communication channel XRoadHttpSenderChannel must be of adapter type SOA"

I know WSDL and SOAP match and it actually works with SOAP... but we use HTTP adapter with an extra bean to accomplish required functionality (instructions from external party that we have to follow). I am now thinking of creating a dummy SOAP channel and dummy Integrated configuration just to get the service interface published to SR. Reasonable?

H

Answers (1)

Answers (1)

Former Member
0 Kudos

Dear Heiko

You would have to update the wsdl using an external tool like Altova and then import it as an external definition.

this is how your service interface would be updated.

Regards

Monika