SOAP Undescribed Headers

ActiveMatrix BusinessWorks SOAP header support is added on the Service Resource to handle Undescribed headers. Undescribed headers are SOAP headers that may appear in the SOAP message but are not part of the WSDL binding description. For Inputs, their content has to be mapped into a context object to make it available to the implementing process, as these headers are not a part of the WSDL message. For Output, they have to be mapped to the SOAP message from a context object, as these headers are not part of the WSDL binding.

Undescribed header configuration is available only for SOAP endpoints in the Service resource. This support is not available for SOAP Event Source Activity.

Note: Recommended. WSDL Messages intended for Undescribed Headers should ideally have unique part names. If this is not followed, there can be ambiguity in resolving SOAP headers and there may be ambiguity in the Context Mapping.

Perform the following general procedure before defining the Undescribed Header:

  1. Create a WSDL Service.

  2. In the Configuration tab, click EndPoint Bindings and select PortType endpoint.

  3. Click Advanced button. This will open the Advanced SOAP Settings screen.

    Advanced SOAP Settings

  4. To define Undescribed Header, perform the following general procedure:

    These steps can be followed for Output Context as well. Undescribed headers are available for both Input and Output Context.

  5. Click Input Headers tab. This will show a table with Message name and Part name. Use the + and X buttons to add or delete message in the table. Move the messages up or down the list using the arrow buttons.

  6. Click in the Message name field and click WSDL. Select Undescribed message and click OK as shown in the following figure.

  7. Select a Resource

  8. Select the Undescribed message.

  9. Select the Cardinality from the drop-down as shown in the following figure. Click OK.

    The cardinality of the header element will depend on the cardinality chosen by the user.

  10. Note: Cardinality cannot be specified for Described headers. Cardinality for described headers is always 1.

    Select Cardinality

    Undescribed headers will be available for context mapping in Input Context and Output Context tab, depending on the configuration.

Note: For context to be available for Output Context mapping at run-time, you must set the context using a SetContext activity.

When an InvokePartner activity in the implementing process is invoking a service referenced by the Partner Link, make sure to use the same Context resource in the 'Service Resource Input Context mapping' and in the 'Partner Link Configuration Output Context mapping'.

A GetContext must be performed before using the InvokePartner activity which overwrites the context resource provided as service input. As a best practice, you should use different Context Resources for different context mappings.