Hello,
The problem is with the document type you defined as input PH_SAV_FTPH_SPAS.TroubleTicket.internal.docType.wsdl:TroubleTicket. Look at it. There are three levels: Leve1- TroubleTicket, Level2- troubleticket and level3-The other segments. As all the segments are defined under one root document an extra ‘troubleticket’ document is coming in the request data. It is obvious from the document type you defined. To overcome this,
either you have to take ‘spas:troubleticket’ (spas is namespace name) under ‘document’ of ‘xmlNodeToDocument’ and then map it to the output document trouble ticket.
or Create a WSDL that defines ‘PH_SAV_FTPH_SPAS.TroubleTicket.internal.docType:troubleticket’ as input for this service and give it to your customer. Use this document in the ‘xmlNodeToDocument’ service as the output doc.
I have tried to follow the process described by Mark Carlson in this thread : [URL=“wmusers.com”]wmusers.com
In fact, I don’t understand where I must use the document PH_SAV_FTPH_SPAS.TroubleTicket.internal.docType.wsdl:TroubleTicket.
When I call the xmlNodeToDocument service, I use PH_SAV_FTPH_SPAS.TroubleTicket.internal.docType:troubleticket as documentTypeName and I map the result to PH_SAV_FTPH_SPAS.TroubleTicket.internal.docType:troubleticket again.
According to my short experience, “spas” is a namespace prefix. It is not mandatory in soap protocol. So, I don’t understand why I should reference it in the document troubleticket. This prefix could be named “toto” or nothing ?!
Other precision : The wsdl is maintened by my client, so I can’t modify it.
I’ve now an other problem.
The dimension of a few nodes is lost (document list is transformed into single string ).
Note : The document that I send is empty for these nodes.
This commonly occurs when you don’t provide a documentType to the nodeToDocument call. If the tag appears a single time in the node, the service by default only knows to create a document and not a document list. You can fix this by defining the element names which repeat or by supplying a fully qualified document type name containing the structure.
Hello,
for the service ‘xmlNodeToDocument’ give the name of all the multiple occuring segments (agent, site, etc) as input to ‘Arrays’. Set make arrays as ‘true’ and remove the document type name value. This works.
An other difficulties in defining arrays and documents nodes in the input of xmlNodeToDocument is when an element is define as a document in a sub-structure and as a string in an other sub-structure (see diagnostic in my example troubleticket)
Christophe May I ask how you overcame this problem.
I am also facing a similar problem where I am trying to build a custom SOAP processor and it is so dependent on the structure and the introduction of this additional tag is making my service go haywire…
I have pretty much done exactly what you have done and stuck with the same problem.