Here is the support service reply : you were right, all was correct.
But they gave me a workaround for addressing correctly the webservice.
Dear Cedric Joubert,
The issue here is that the WSDL does define an “input”, but it is an empty element. When the WSDL is consumed to create the Connectors and the Document types, the IS does define an empty document type and inserts a reference to that in the input to the IClientWebService_getAllPays connector input signature. If you look at the input signature of the Connector you do see the tns:getAllPays field which is a reference to the empty document type.
The problem comes in when invoking the Connector. The way that the IS generates the SOAPRequest is by taking the inputs and generating the XML of the Soap Request. The IS does not supply empty or default fields. If there is nothing named tns:getAllPays in the input of the connector we do not generate the empty XML element on the request.
One simple way to make it work is to ensure that when the Connector is invoked that an empty IData named tns:getAllPays is in the pipeline so the soap call will send that empty value. What I did to make it work locally is to create a small Java Service that took no inputs, but created an empty document as output. Attached is a screenshot of the java code to use. I named the output field tns:getAllPays so it would automatically map on the pipeline.
Then I created a Flow service to invoke my Java service before invoking the connector (see attached screenshot). By having the populated tns:getAllPays in the pipeline the IS generated the SOAPRequest with the empty element and everything seems to work fine.
Alternatively, in the IClientWebService_getAllPays flow I added an Invoke step to call the Java service (see attached screenshot), and from that point on, an instance of a getAllPays document existed in the pipeline, and the soap call was successful.
If you require an empty XML Element in the soapRequest, simply ensure there is an empty iData in the pipeline that can be converted into the XML of the request and it will work.
Please use this Incident number in future correspondence regarding this request. You may reply to this e-mail, or address your message to email@example.com and use the following text in the subject line:
Support Incident: 5219551
With kind regards,
Software AG Global Support Services