cancel
Showing results for 
Search instead for 
Did you mean: 

Issue with provided message for WSDL of SAP PI sender interface

Former Member
0 Kudos

Hi,

as I am not familar with SOAP interfaces and use of WSDL by partners with WSDL generated in SAP PI there are some issues that I have with a scenario:

1. Import of external xsd for message is done

2. Enterprise Repository and Integration Directory objects are completely created and activated

3. WSDL was generated from ID Sender agreement (This is PI 7.1)

4. Partner got the WSDL

The partner provided now some test messages by mail that I would like to test in the mapping as the message is really complex.

But the result is strange...

1. The header of the partner message is this:

<XJustiz_Daten xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<Grunddaten xmlns="http://www.xjustiz.de">

(Some german words are in that example. But this doesn t matter!)

This is different to the xml that PI generates in mapping:

<?xml version="1.0" encoding="UTF-8"?>

<ns0:XJustiz_Daten xmlns:ns0="http://www.xjustiz.de">

<ns0:Grunddaten>

<ns0:Grunddaten XJustizVersion="">

Partner defines xsi: instead of ns0 and PI fails using this message!

So I had to change the message header and add ns0: to all element tags and node tags of the message.

(See for example with first node "Grunddaten").

2. There are some mandatory nodes and elements.

An example:

- Rechtsform is mandatory node (1..1) with element content (mandatory 1..1)

So it will appear in the payload like this:

<ns0:Rechtsform>

<ns0:content xmlns=""/>

</ns0:Rechtsform>

But the partner provides this:

<Rechtsform xsi:nil="true" />

which is the next issue as PI doesn t understand as xsi is not mapped to a namespace. !

It would be easy to use an "exist" function to solve the issue with the not provided element but this will not help

when the node is provided with additinal information xsi:....

Can you give any help/answer why PI is not able to handle such things.

Thank you!

Best regards

Dirk

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Solved on my own

Former Member
0 Kudos

Hello Meinhard,

If you are the Service Owner, the sender system must use your wsdl message (WebService Definition).

If there're other problems or the sender system can't use your message structure, in agreement with them you need to develope a different mapping.