Last week I came across a scenario where I had to call the card verification service before updating the credit/debit card status. This was the first time I was consuming a web service in an orchestration so I had a little trouble in the beginning. Very innocently I made request and response messages of the schema types which I got from the wsdl, made a request-response port and deployed the project. Configured the port to use the SOAP adapter and gave the URI of the web service. I tested my orchestration and was expecting the results but got the exception in the system Event Log.
"Failed to load "" type. Please verify the fully-qualified type name is valid.Details: "".The type must derive from System.Web.Services.Protocols.SoapHttpClientProtocol.The type must have the attribute System.Web.Services.WebServiceBindingAttribute. ".
After a little search on the internet I found out that I have to add the web reference of the web service and configure web ports and web messages and cannot call the web service in this manner. However I succeeded to consume the web service but I had to consume the web service without adding the web references. Because I figured out if the schemas change in the future of the web service (which was most likely too) then I had to update the web references, recompile and redeploy the project.
Adding the web reference in my project I got the following items which will be used by BizTalk to consume the web service.
Parsing BizTalk Messages in .NET Components Through Orchestration
BizTalk Mapping. Using the Database Lookup Functoid