Web Service Consumer Transformation Ports
When you view the transformation ports, show the ports if you do not need to view the operation hierarchy. When you show the ports, you can define groups, define ports, and map nodes from the operation output to the output ports.
The following figure shows the ports for a non-reusable Web Service Consumer transformation:
A Web Service Consumer transformation can have multiple input groups and multiple output groups. When you create ports, create groups and add the ports to the groups. Define the ports in a group hierarchy based on the structure of the operation input or operation output hierarchy. Add a key to relate a child group to a parent group. All groups except the lowest group in the hierarchy must have primary keys. All groups in the hierarchy except the root group must have foreign keys.
The transformation has a root input group named RequestInput. You must add a primary key to the root input group. The key must be string, bigint, or integer.
You can add additional pass-through ports to the root input group. Pass-through ports pass data through the transformation without modifying the data. The pass-through port can occur one time in the input data. You can add the pass-through port to any output group. Associate the output port to the input port. The input value that you pass through a SOAP request repeats in the output rows from the SOAP response.
You can also add HTTP headers, cookie ports, a dynamic URL port, and ports for web service security authentication to the root input group. Data in the root group occurs one time.
To map an operation output node to an output port, click the field in the Location column and expand the hierarchy in the Select Location dialog box. Then, choose a node from the hierarchy.
HTTP Header Input Ports
A web service might require additional HTTP headers. You can create input ports in the root input group to pass the additional header information to the web service provider.
To add an HTTP header and an HTTP port, select the root input group and click the arrow next to the New button. Then, click HTTP Header. Enter a header name and port name.
You can create multiple HTTP headers.
Other Input Ports
You can add predefined input ports to the Web Service Consumer transformation.
You can add the following predefined input ports:
- Cookie port
- You can configure the Web Service Consumer transformation to use cookie authentication. The remote web service server tracks the web service consumer users based on the cookies. You can increase performance when a mapping calls a web service multiple times.
When you project the cookie port to a web service request message, the web service provider returns a cookie value in the response message. You can pass the cookie value to another transformation downstream in the mapping or you can save the cookie value in a file. When you save the cookie value in a file, you can configure the cookie as input to the Web Service Consumer transformation.
You can project the cookie output port to any of the Web Service Consumer transformation output groups.
- Endpoint URL port
- The Web Service Consumer transformation connects to a web service using an endpoint URL. You can define the endpoint URL in the WSDL file, in a web services connection, or in an endpoint URL input port. When the transformation receives the URL dynamically in a port, the Data Integration Service overrides the URL defined in the WSDL file or in the web services connection.
- The Web Service Consumer transformation can have one URL port value for each web service request. Add an Endpoint URL port to the root input group.
- WS-Security ports
You enable web service security in a web services connection. When you enable web service security, you must define the user name and password in a web services connection or in WS-Security input ports.
When you add WS-Security ports, you pass the user name and the password through input ports in the transformation. When the transformation receives the user name and password dynamically in ports, the Data Integration Service overrides the values defined in the web services connection.
Note: A web services connection has one user name and password for HTTP and WS-Security authentication.
To add predefined input ports, click the root input group in the Ports area. Click the arrow next to the New button and then click Other Ports. Choose the ports to add.