Saturday, November 19, 2011

Exposed Orchestration as Web service returning void?

I was working on an Integration Scenario where we needed to call the BizTalk Orchestration from MS Access.
SO first thing started looking at how could we could send request from MS Access to Biztalk. We wanted a Synchronous Scenario where MS Access sends Request and waits for a Response.
The best option we had was to Expose the Orchestration as Webservice.
We did that and after googling we understood

  •  MS Access cannot consume a WCF Service.
  • To Comsume a BizTalk WCF Service we need to create a Proxy Class.
So finally we thought to settle down for normal SOAP Web-services and exposed our Orchestration as Soap Web-service.
It looked good but we planned to make it more easy to be called from MS Access we thought to have the Web-service Input/Output parameter as string.
So MS Access will send XML in string and get response XML i nstring object.

So we made the changes in Orchestration and republished the Orchestration as Webservice and tried to consume it from a WebService testing tool caleld WCF Strom.
The input was passed on and the Webservice returned void though in BizTalk I noticed that I am returning the right XML.

After googling I found this link where it says we need to fine tune the Webservice to work it out.

I made the changes in my Webservice created by the Webservice Publishing Wizard.

And finally got the Response as string.

Hope it helps you in working with Exposing Orchestration as Webservices.