<ws:consumer config-ref="OrderWS" operation="login" doc:name="Login"/>
Web Service Consumer Reference
The component formerly known as the SOAP Connector is now known as the CXF Component. It should not be confused with the Web Service Consumer.
Elements and Attributes
Studio Palette | XML Element | Use |
---|---|---|
Web Service Consumer |
|
Use to consume a SOAP Web service from within a Mule application. |
Element | Attribute | Value | Attribute Req’d | Attribute Description |
---|---|---|---|---|
|
|
unique name for message processor |
x |
Defines unique identifier for Web Service Consumer element. (Studio requirement) |
|
name of global Web service consumer |
x |
Identifies the name of the global Web service consumer connector consumer-config the |
|
|
operation to perform during Web service call |
x |
Identifies the operation to perform during the Web service call; default values extracted from WSDL. |
Global Element
Studio Visual Editor | XML Element | Use |
---|---|---|
Global Web Service Consumer |
|
Use to identify the WSDL of the Web service, and to define any security settings required for consuming the Web service. |
Element | Attribute | Value | Attribute Req’d | Attribute Description |
---|---|---|---|---|
|
|
unique name |
x |
Defines unique identifier for global element that can be referenced by message processors. |
|
display name |
x |
Defines display name for Web Service Consumer global element. (Studio requirement) |
|
|
filepath and filename OR URL |
x |
Identifies the location of the WSDL of the Web Service which you are consuming. |
|
|
name of Web service |
x |
Identifies the Web service itself by name. |
|
|
name or port number |
x |
Identifies the port through which you connect to Web service. |
|
|
URL |
x |
Identifies the URL of the Web service. |
|
|
connector name |
References another global connector from which the ws:consumer-config element borrows configuration details. If specified, then the Web Service Consumer created to connect to the Web service uses the referenced connector. The protocol specified in the serviceAddress must be supported by this connector. |
Studio | XML Child Element | Use |
---|---|---|
Security tab of Global Web Service Consumer |
|
Use to apply security settings to the Web service consumer, according to the requirements of the Web service itself. |
Studio | XML Child Element | Use |
---|---|---|
Security tab of Global Web Service Consumer |
|
Use to apply username token settings to the Web service consumer. |
Child Element | Attribute | Value | Attribute Req’d | Attribute Description |
---|---|---|---|---|
|
username |
username |
x |
Defines the username to access Web service; added to header of request sent to Web service. |
password |
password |
x |
Defines the password to access Web service; added to header of request sent to Web service. |
|
passwordType |
DIGEST or TEXT |
x |
Identifies the type of password. |
|
addCreated |
true or false |
Specifies whether or not to add a "Created" header to the Web service request. |
||
addNonce |
true or false |
Specifies whether or not to add a "Nonce" header to the Web service request. |
Child Element | Attribute | Value | Attribute Req’d | Attribute Description |
---|---|---|---|---|
|
expires |
x |
Defines the number of seconds, from the point of creation, for which the request remains valid to the Web service. |
...
<ws:consumer-config name="OrderWS" wsdlLocation="enterprise.wsdl.xml" service="OrderService" port="Soap" serviceAddress="https://login.orderservice.com/services/Soap/c/22.0" doc:name="Web Service Consumer">
<ws:security>
<ws:wss-username-token username="test" password="test" passwordType="DIGEST" addCreated="true" addNonce="true"/>
<ws:wss-timestamp expires="30000"/>
</ws:security>
</ws:consumer-config>
...
Complete Code Example
STUDIO Visual Editor
XML Editor or Standalone
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns:ws="http://www.mulesoft.org/schema/mule/ws" xmlns:data-mapper="http://www.mulesoft.org/schema/mule/ee/data-mapper" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/ws http://www.mulesoft.org/schema/mule/ws/current/mule-ws.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/data-mapper http://www.mulesoft.org/schema/mule/ee/data-mapper/current/mule-data-mapper.xsd
http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd">
<ws:consumer-config name="Web_Service_Consumer" wsdlLocation="tshirt.wsdl.xml" service="TshirtService" port="TshirtServicePort" serviceAddress="http://tshirt-service.qa2.cloudhub.io/tshirt-service" doc:name="Web Service Consumer"/>
<data-mapper:config name="xml_listinventoryresponse__to_json" transformationGraphPath="xml_listinventoryresponse__to_json.grf" doc:name="xml_listinventoryresponse__to_json"/>
<data-mapper:config name="json_to_xml_ordertshirt_" transformationGraphPath="json_to_xml_ordertshirt_.grf" doc:name="json_to_xml_ordertshirt_"/>
<data-mapper:config name="xml_ordertshirtresponse__to_json" transformationGraphPath="xml_ordertshirtresponse__to_json.grf" doc:name="xml_ordertshirtresponse__to_json"/>
<data-mapper:config name="string_to_xml_authenticationheader_" transformationGraphPath="string_to_xml_authenticationheader_.grf" doc:name="string_to_xml_authenticationheader_"/>
<http:listener-config name="HTTP_Listener_Configuration" host="localhost" port="8081" doc:name="HTTP Listener Configuration"/>
<flow name="orderTshirt" doc:name="orderTshirt">
<http:listener config-ref="HTTP_Listener_Configuration" path="orders" doc:name="HTTP">
<http:response-builder statusCode="200"/>
</http:listener>
<data-mapper:transform config-ref="json_to_xml_ordertshirt_" doc:name="JSON To Xml<OrderTshirt>"/>
<set-variable variableName="apiKey" value="#['abc12345']" doc:name="Set API Key"/>
<data-mapper:transform config-ref="string_to_xml_authenticationheader_" input-ref="#[flowVars["apiKey"]]" target="#[message.outboundProperties["soap.header"]]" doc:name="String To Xml<AuthenticationHeader>"/>
<ws:consumer config-ref="Web_Service_Consumer" operation="OrderTshirt" doc:name="Order Tshirt"/>
<data-mapper:transform config-ref="xml_ordertshirtresponse__to_json" doc:name="Xml<OrderTshirtResponse> To JSON" returnClass="java.lang.String"/>
</flow>
<flow name="listInventory" doc:name="listInventory">
<http:listener config-ref="HTTP_Listener_Configuration" path="inventory" doc:name="HTTP">
<http:response-builder statusCode="200"/>
</http:listener>
<ws:consumer config-ref="Web_Service_Consumer" operation="ListInventory" doc:name="List Inventory"/>
<data-mapper:transform config-ref="xml_listinventoryresponse__to_json" returnClass="java.lang.String" doc:name="Xml<ListInventoryResponse> To JSON"/>
</flow>
</mule>