views:

556

answers:

1

In BizTalk 2006, I am trying to set up a messaging-only scenario whereby the recieved message (a string) is passed to a web service method that takes a single string parameter. In other words, the whole body of the BizTalk message should be passed as the parameter to the web service call.

The service method looks like this:

 [WebMethod]
 public void LogAuditEvent(string auditEventMessage)

I have set up the assembly with the proxy class in the SOAP adapter configuration as required, but I can't figure out how to get the message body to be passed as the parameter. Without doing anything special, I get the following error message:

Failed to serialize the message part "auditEventMessage" into the type "String" using namespace "".

I think this means that the adapter cannot find a message part named after the parameter. So, my question is what do I need to do to get my message set up correctly? I was thinking that maybe I needed to add an outbound map, but was not sure what to use as the source schema and how to generate a proper schema for the web service request message.

Does anyone have any pointers on this seemingly simple task?

Thanks.

+1  A: 

TDL,

I would take a look at the links below for some tips on how to do this. SOAP adapter can be problematic I would recommend WCF if your using R2. And if not look at the WSE adapters as well.

http://blogs.digitaldeposit.net/saravana/post/2007/01/31/Calling-Web-Service-from-BizTalk-2006-in-a-Messaging-only-Scenario-(aka-Content-based-Routing).aspx

-and-

http://www.pluralsight.com/community/blogs/aaron/archive/2005/10/07/15386.aspx

-and-

http://social.technet.microsoft.com/Forums/en-US/biztalkgeneral/thread/92f2cad3-39b9-47d0-9e6f-011ccd2f9e10/

-Bryan

Bryan Corazza
Thanks Bryan,I am deferring this change for our deploy of R2. Based on the documentation, it looks much easier with the WCF adapter.
TDL