Difference between revisions of "Calling SOAP Web services"
From Toolsverse Knowledge Base
Line 36: | Line 36: | ||
</connection> | </connection> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | You can tokenize any part of the CDATA or URL using {token}. In the example above there are 3 tokens: | ||
+ | <pre> | ||
+ | <vendorUserId>{requestUserId}</mktowsUserId> | ||
+ | <vendorSignature>{requestSignature}</requestSignature> | ||
+ | <vendorTimestamp>{requestTimestamp}</requestTimestamp> | ||
+ | </pre> |
Revision as of 00:24, 10 February 2015
The ETL Framework natively supports SOAP Web services over HTTP. You will need to:
- Set source or destination connection to the one linked to the SOAP endpoint
- Define SOAP request in the connection CDATA attribute
<connection alias="Cars"> <url>http://www.vendor.com/soapendpoint</url> <CDATA><![CDATA[<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.vendor.com/soapendpoint/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:AuthenticationHeader> <vendorUserId>{requestUserId}</mktowsUserId> <vendorSignature>{requestSignature}</requestSignature> <vendorTimestamp>{requestTimestamp}</requestTimestamp> </ns1:AuthenticationHeader> </SOAP-ENV:Header> <SOAP-ENV:Body> <ns1:paramsGetMultipleCars> <leadSelector xsi:type="ns1:KeySelector"> <keyType>MAKE</keyType> <keyValues> <stringItem>Ford</stringItem> <stringItem>Acura</stringItem> </keyValues> </leadSelector> <batchSize>100</batchSize> </ns1:paramsGetMultipleCars> </SOAP-ENV:Body> </SOAP-ENV:Envelope> ]]></CDATA> <params>method=post;exceptions=500;file=false;header_Content-Type=text/xml</params> <connector>com.toolsverse.etl.connector.xml.XmlObjectConnector</connector> <transport>com.toolsverse.io.HttpProcessor</transport> </connection>
You can tokenize any part of the CDATA or URL using {token}. In the example above there are 3 tokens:
<vendorUserId>{requestUserId}</mktowsUserId> <vendorSignature>{requestSignature}</requestSignature> <vendorTimestamp>{requestTimestamp}</requestTimestamp>