Getting an issue when deploying the BPM to the server such as the below screenshot (or the repeat annoy popup with data violation, the difference error is depended on the version of NWDS)

   error_deployment.JPG

And look at Data Type in NWDS, IDOC messages came with empty namespace is the reason:

IDOC_emptyNamespace.JPG

The reason is when an IDOC was imported to ESR it was missing 2 attributes targetNamespace and xmlns.

So all we need to do is correcting these 2 missed attributes to the IDOC message.

First step, export IDOC message in ESR to an external wsdl file, then adding 2 attributes to the IDOC schema section <xsd:schema> and xmlns attribute to <wsdl:definition> section.

IDOC_addedAttribute.JPG

Second step, import the file to External Definitions in ESR, then edit the Service Interface points to the External Message instead of IDOC.

SI_ExternalMessage.JPG

The last step, delete the WSDL file of the old Service Interface that points to the IDOC and reimport the new Service Interface to NWDS.

Now we are able to see Data Type with the namespace in NWDS

IDOC_withNamespace.JPG

Okay we are good with the BPM, but still has another issue when transfering IDOC messages between SAP ECC and BPM, because IDOC messages send to PI from SAP ECC are missing the namespace which is required by the BPM and it’s the same if there is a route sending IDOC from BPM to SAP ECC it’s required to removed the namespace too.

diagram.JPG

The External Message is the one we modified to adding 2 attributes above.

To do that I enclosed 2 XSL for adding and removing namespace accordingly, please see the attachments.

Adding the namespace:

AddingNS.JPG

Remove the namespace:

RemovingNS.JPG

Now I’m usng PO 7.5 with NWDS 7.5 SP03. Please refer to SAP note 1414292 for early versions and more general info.

For more detail how to create a BPM to communitcate with PI, refer to this document.

To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

Leave a Reply