We are working on a scenario integrating PI with Salesforce. The communication is via a web service and Salesforce has provided us with their WSDL. In the WSDL, a parent node is called sObjects. Since we are dealing with the 'User' object of Salesforce, the sObjects node was edited and the type 'User' had been added to it. (<ns1:sObjects xsi:type = "User">).
When we import this WSDL into PI, in the Messages tab of the external definition, we can see that, some of the child nodes under the sObjects node are automatically taking up the type 'User'. So all the fields under the node sObjects are visible under these child nodes as well.
In our mapping, we are supposed to map one field (Employee_Number__c) under one such child node (Manager). (This field is present under the main node sObjects, and thus also under the Manager node). However, in the Message mapping, none of the fields are visible at all under the child node (Manager) or any other child node which has the type 'User'.
In this regard, kindly help us on the below 2 points:
1. How can we make these fields visible under the child nodes with the type User (for example the Manager node)?
2. In the external definition, since some of the child nodes also show the type 'User', all fields under the sObjects nodes are visible under these child nodes (eg. Manager) as well. Thus the Manager node itself contains the field Manager node again. This, in turn, has the type 'User' and thus contains the 'Manager' node again. So this is happening recursively infinite number of times. How can we avoid this?
We also opened this structure in Altova XMLSpy, but it does not show any error there.