cancel
Showing results for 
Search instead for 
Did you mean: 

Consuming SAP PI published Web Service

Former Member
0 Kudos

Hello,

I'm searching last two days a solution to create a connection from Web Dynpro Java 7.1 to SAP PI Web Service, but without luck.

I was able to import and create the Adaptive Web Service Model without any problems, but when I start the application I get two types of error messages, depending on definition of logical destinations in model.

1. When I use destinations from metadata

DEFAULT_WS_METADATA_DEST - http://<host>:<port>/inspection.wsil.

ERROR: com.sap.engine.services.webservices.espbase.query.exceptions.ObjectNotExistsException: ProcessNewInstanceNotification_Out_Document

The published Web Service from SAP PI is available in Service Registry, it has also working endpoints - tested in WS navigator and Visual Composer, but it doesn't appears in the WSIL - is there a way how to publish this WSDL in the WSIL?

2. Second try was to not use logical destinations

ERROR: com.sap.engine.services.webservices.jaxrpc.exceptions.InvalidResponseCodeException: Invalid Response Code: (401) Unauthorized. The requested URL was:"http://<host>:<port>/dir/wsdl?p=1_d8f7d1c6f1983d2998715bb7ea906324_binding"

I have tried to create this WSDL destination in Destination Template Management and also in Destinations (NWA -> Configuration Management -> Destinations), but without success.

What's wrong?

Andrej Dobak

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Andrej,

I also got the 2nd error while importing the webservice. Try to append &sap-user=<user>&sap-password=password> and import again.

Regards,

Shweta

Former Member
0 Kudos

Hello Shweta,

thanks for reply, but this is not really the solution which I'm looking for, as it violates the SOA and security rules.

Second point is, that I'm not calling the target WSDL, like

http://<host>:<port>/XISOAPAdapter/MessageServlet?senderParty=&senderService=BS_Prototype&receiverPa...,

but the binding WSDL

http://<host>:<port>/dir/wsdl?p=1_d8f7d1c6f1983d2998715bb7ea906324_binding

and in Service Registry you don't have any posibility to change the target WSDL and also the binding WSDL doesn't redirects parameters.

Nevertheless as I wrote above I'm searching a standard solution which is not in conflict with SOA and security rules.

Thanks

Andrej

Former Member
0 Kudos

Hi Andrej,

you need to create a destination under: NWA -> SOA Management -> Technical Configuration -> Destination Template Management

Destination Type: WSDL

URL: http://<host>: <port>/dir/wsdl?p=1_d8f7d1c6f1983d2998715bb7ea906324

Authentication: HTTP Authentication

As you see the WSDL URL doesn't have the _binding extension, which generally filters out some content from the WSDL, like wsdl:message and wsdl:portType.

Afterwards you need to reimport the model in Web Dynpro and use destinations for metadata and execution. The destination name should be identical as in Destination Template Management.

That's it.

Cheers,

Pavol

Former Member
0 Kudos

Thanks Pavol, it's working.

Best Regards

Andrej

Answers (0)