# CloverETL Server and Salesforce.com WSDL WebServiceClient

**URL:** <https://forum.cloverdx.com/t/cloveretl-server-and-salesforce-com-wsdl-webserviceclient/1008>\
**Category:** CloverDX Platform\
**Created:** [February 9, 2012, 12:00am UTC](https://forum.cloverdx.com/t/cloveretl-server-and-salesforce-com-wsdl-webserviceclient/1008 "2012-02-09T00:00:00Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![twaldock](https://avatars.discourse-cdn.com/v4/letter/t/f05b48/32.png) [@twaldock](https://forum.cloverdx.com/u/twaldock)\
**Post date:** [February 9, 2012, 12:00am UTC](https://forum.cloverdx.com/t/cloveretl-server-and-salesforce-com-wsdl-webserviceclient/1008/1 "2012-02-09T00:00:00Z")

</div>

Hi all,  
Any pointers, tips, or best-practices on connecting CloverETL WebServiceClient with [Salesforce.com](http://Salesforce.com)?

SF expects that web clients download (once, or irregularly) the WSDL file, but the WebServiceClient is looking for an URL, not a file.  
Could it be served from within CloverETL Server, rather that downloaded each time from SF?

Also, what would the appropriate Auth Domain / Auth Realm settings be for a [Salesforce.com](http://Salesforce.com) instance?

Examples and suggestions welcome!

Thanks,

---

<div class="post-metadata">

**Author:** ![David\_Hlidek](https://avatars.discourse-cdn.com/v4/letter/d/58f4c7/32.png) [@David\_Hlidek](https://forum.cloverdx.com/u/David_Hlidek)\
**Post date:** [February 10, 2012, 7:50am UTC](https://forum.cloverdx.com/t/cloveretl-server-and-salesforce-com-wsdl-webserviceclient/1008/2 "2012-02-10T07:50:16Z")

</div>

Hi twaldock,

you can use [http://en.wikipedia.org/wiki/File\_URI\_scheme](http://en.wikipedia.org/wiki/File%5FURI%5Fscheme) (e.g.

```auto
file:///d:/test/AmazonWebServices.wsdl.xml

```

).

Regarding login: I think all auth fields (incl. login and password) should stay empty for salesforce. You need to do extra call using web service method “login” [http://www.salesforce.com/us/developer/ … ex\_api.pdf](http://www.salesforce.com/us/developer/docs/api/apex%5Fapi.pdf) (page 942). This will give you “sessionId” which you need to pass in further requests.

I hope this helps.

---

<div class="post-metadata">

**Author:** ![twaldock](https://avatars.discourse-cdn.com/v4/letter/t/f05b48/32.png) [@twaldock](https://forum.cloverdx.com/u/twaldock)\
**Post date:** [February 10, 2012, 4:32pm UTC](https://forum.cloverdx.com/t/cloveretl-server-and-salesforce-com-wsdl-webserviceclient/1008/3 "2012-02-10T16:32:17Z")

</div>

Thanks again Jarek!

… I missed the third slash needed when trying the file:// approach - my bad.

Salesforce tips would be a good cookbook topic. Will let you know how it goes.

Cheers,

---

<div class="post-metadata">

**Author:** ![David\_Hlidek](https://avatars.discourse-cdn.com/v4/letter/d/58f4c7/32.png) [@David\_Hlidek](https://forum.cloverdx.com/u/David_Hlidek)\
**Post date:** [February 13, 2012, 1:44pm UTC](https://forum.cloverdx.com/t/cloveretl-server-and-salesforce-com-wsdl-webserviceclient/1008/4 "2012-02-13T13:44:35Z")

</div>

Hi Tom,

there is one issue in WebServiceClient when trying to use salesforce methods. As I wrote you need to fill “sessionId” into requests header. That is unfortunately not possible with current state of WebServiceClient. We plan to write completely new version, but that will take some time. There is jira issue [https://bug.javlin.eu/browse/CL-1882](https://bug.javlin.eu/browse/CL-1882) .

One workaround is:

0] please first take a look on [http://en.wikipedia.org/wiki/SOAP#Example\_message](http://en.wikipedia.org/wiki/SOAP#Example%5Fmessage) for SOAP request structure.

1] generate your request via WebService client, then catch generated request on output port (see [http://www.cloveretl.com/documentation/ … lient.html](http://www.cloveretl.com/documentation/UserGuide/index.jsp?topic=/com.cloveretl.gui.docs/docs/webserviceclient.html) for details) - it is field “Request structure”

2] this “Request structure” is by default enveloped by soap:Envelope and soap:Body - what you need to do is envelope it with the same, but also use soap:Header with “sessionId” field (you can do this by Reformat)

3] now you should have complete request (with similar structure as one mentioned above)

4] use HttpClient for execution of this request

Second:

1] generate your requests via tool like [http://www.soapui.org/](http://www.soapui.org/) in advance

2] by Reformat insert dynamic parts

3] use HttpClient for execution of this request

I hope this helps. Sorry for inconvenience.

---

<div class="post-metadata">

**Author:** ![twaldock](https://avatars.discourse-cdn.com/v4/letter/t/f05b48/32.png) [@twaldock](https://forum.cloverdx.com/u/twaldock)\
**Post date:** [February 14, 2012, 5:04pm UTC](https://forum.cloverdx.com/t/cloveretl-server-and-salesforce-com-wsdl-webserviceclient/1008/5 "2012-02-14T17:04:25Z")

</div>

Hi Jarek,

Thanks for the transparency - without your comments this could have taken a lot of time to reach a very frustrating stage.

This is a really big issue for us - web services and [Salesforce.com](http://Salesforce.com) are key sources and consumers of data here.  
… to work well with [Salesforce.com](http://Salesforce.com) would be a great sales and marketing advantage.

Please flag/vote/increase priority on this item so that it gets addressed. It looks 95% there but needs that last part repaired.

-- Tom
