BizTalk is getting the following body in the suspended message:
=========================================
<Fault
xmlns="http://www.w3.org/2003/05/soap-envelope"><Code><Value>Sender</Value><Subcode>
<Value
xmlns:a="http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher">
a:DeserializationFailed</Value></Subcode>
</Code><Reason><Text xml:lang="en-US">The formatter threw an exception
while
trying to deserialize the message:
There was an error while trying to deserialize parameter
http://tempuri.org/:tmxml.
The InnerException message was 'Error in line 1 position 410. 'Element'
'isSuccessField'
from namespace
'http://schemas.datacontract.org/2004/07/Thornburg.BizTalk.TMXML'
is not
expected.
Expecting element 'exceptionField'.'. Please see InnerException for more
details.</Text></Reason><Detail>
<ExceptionDetail
xmlns="http://schemas.datacontract.org/2004/07/System.ServiceModel"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><HelpLink
i:nil="true"
/>
<InnerException><HelpLink i:nil="true" /><InnerException i:nil="true" />
<Message>Error in line 1 position 410. 'Element' 'isSuccessField' from
namespace
'http://schemas.datacontract.org/2004/07/Thornburg.BizTalk.TMXML'
is not
expected.
Expecting element 'exceptionField'.
=========================================
What I have is a call to a WCF web service. I ran the WCF "Consume
WebService" via the "Add Generated Items". It builds a schema similar to
my
web service class, except that it puts "Field" on the end of each element.
I
built a map to initialize a couple of the fields (i.e the only two fields
that that web service really needs).
In the generated schema, it also seems to realphabetize the order of the
fields so that "exceptionField" (in the error above) is before instead of
after the "IsSuccess" field.
However, it doesn't seem to accept missing elements. If I leave out any
element, then I get a similar deserialize error to above. I have a huge
message, and I don't want to initialize every single field just to make
the
call, because the webservice only needs one or two of these hundreds of
fields.
When I call the webservice from a C# client, it works fine with the
missing
fields.
Any ideas?
Thanks,
Neal Walters
http://Biztalk-Training.com