Basically we have an orchestration (on BT 2006 R2) that interfaces with
a WCF service. We've generated the necessary webservice schemas and
such using the "Add generated items" wizard for consuming a WCF service.
Unfortunately, we have intermittent problems using the types defined
in those files. We have a couple Input and Output messages for sending
messages to / receiving messages from the WCF service. Each message is
a multi-part message with one part labeled "parameters" - it is marked
as the message body. That "parameters" part is set to the appropriate
input/output schema from the WCF service schema.
Occasionally (for me, the problem started when I recently rebooted my
computer), a message assignment shape inside a message construction
object has problems accessing the message parts properly. We get a
"Identifier 'parameters' does not exist in 'FetchSyncInitData_Input';
are you missing an assembly reference?"
First of all the message and its type are defined in the generated
orchestration that the "consume WCF service" wizard creates - it's in
the same assembly, so there wouldn't be a reference issue. Also, I get
another error 'cannot convert message <blah, blah> to
Microsoft.XLANGs.BaseTypes.XLANGMessage" later in the same expression
shape - as though BizTalk doesn't recognize the message as an actual
message. The error occurs on a line of code in the message assignment
shape that is calling a C# method that takes an XLANGMessage as a
parameter. Elsewhere (and during the times that it actually compiles),
that conversion (from a message to XLANGMessage) works implicitly
without problems.
I've tried deleting all obj/bin folders, uninstalling all the project's
assemblies from the gac, removing all the assemblies from BizTalk (from
the admin console), rebooting, deleting all code-behind files,
re-generating the WCF service files... none of it works. We're still
getting the same error.
Any ideas? I'm at a standstill right now, trying to get this to work...
-Mark-
If I move the message type definition from the generated
sub-orchestration into the main orchestration, it works fine. The
definitions are identical. But, BizTalk doesn't want to access the
message type definition from the secondary orchestration.
-Mark-