If you are using pub.client:soapClient
manually to consume a SOAP end point, the response and the header is already set in the output, but they are not defined; you can use them but you need to map them to correct document type. All you need to do is to map the field to the correct data type. I am not entirely sure about what you mean by not static response. SOAP messages are usually well defined, you can even find the xsd of the xml in the WSDL. If you are importing a WSDL, you will have wrapper services defined automatically. This automatically defined services will also use pub.client:soapClient
but they will have their output mapped correctly.
pub.client:soapClient service doesn’t know the response type/structure of the SOAP service, therefore it maps the output as empty document, but it doesn’t mean the document is empty. When you map this empty looking document to the proper document you will have every value mapped as it is supposed to hence you can use whatever you need just by mapping. When you import a WSDL IntegrationServer parses the XSD in the WSDL and maps the output document to pub.client:soapClient output.
If you don’t know what you will receive from a SOAP service, I recommend checking the WSDL of the API. SOAP resposne must be defined in the descriptor.
If you need anything more complicated then just calling SOAP services or importing a WSDL, you can use services below pub.soap
in WmPublic
package. For more information I recommend checking the documentation below.
https://documentation.softwareag.com/webmethods/integration_server/pie10-15/webhelp/pie-webhelp/index.html#page/pie-webhelp%2Fpub_client_soapClient.html
#webMethods#Integration-Server-and-ESB