function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Griffin WarburtGriffin Warburt 

Integration: Newbie SF WSDL questions

I have been tasked to integrate our ERP system with SF.  I have configured our back-office to export XML documents for the update/creation/deletion events that occur inside of it and I am currently creating the interface that will update SF.
I had expected that I would be able to achieve this through
  1. Translating the XML document exported by our back-office into the appropriate format for SF submission,
    1. Adding the appropriate SOAP elements
    2. Changing the lanugage to that which SF requres
  2. Send it to the SF Web-Service defined by our Enterprise WSDL
    1. Through Microsoft's MSMQ service
    2. Using the Client SSL certificate

and the Web-Service would process the commands the message contained.

From what I have read in this development area of SF, that does not seem to be the case, and my project is growing as I am beginning to believe that I will have modify this process to
  1. Create an application (instead of a parsing/redirecting DLL)
    1. which would log into SF
    2. obtain a session ID
    3. query for the appropriate ID of the objects which are being updated
      1. I understand that creation does not require the ID
    4. convert the data
    5. construct the (modify,update,create) SOAP document
    6. submit the modification

The challenge comes in receiving the SOAP response from SF

There are quite a few different names that are leading me to believe that I am just not looking at the right service for my needs.  (Apex API,, Web Services API)
Is my original goal possible?  If so, what segment of SF do I need to be using?
Griffin WarburtGriffin Warburt

I currently think that the answer to my question is yes. By using our Enterprise WSDL as a web-reference the API calls to SF & their responses will be automatically handled

--posted in this thread--

Adding the WSDL as a web reference, then include it in your source, and all the api calls open up to you.  The calls shown are available because of the WSDL and intellisense is fully functional, and it handles all the session pieces for you.  There is documentation luckily in case my descriptions or coding style is wrong, but I have built about 15 apps and all of them use that piece of code or very similar at some point, and they are used every day all day long.  If you cant get it working post your code and Ill compare it to what I use that seems to be working for us.  good luck.
The Web Services API doesn't care how you generate your SOAP requests as long as they comply with the relevant specs, and with the schema's defined in the WSDL, you're not required to use any particular soap toolkit, or in fact any soap toolkit at all, i regularly test using just TextMate and curl.

Generating the requests by transforming an existing chunk of xml is fine, however as you've seen, you will need to do some amount of state management yourself to be able to both transform in a valiud sessionId and to discover the correct endpoint URL to send the message to following a login call.

As is Internet based the only realistic transport to communicate with it is HTTP(s), MSMQ is fine for inside an enterprise, but franky sucks when you need to cross boarders (as do pretty much all the MOM style protocols/products).

If you're using Biztalk (And i can't quite tell from your description if you are or not), then you might want to look into the 2Connect Biztalk adapater for Salesforce.