02-02-05 07:50 AM
Hello.
Have you used the Subscription Viewer in the SDK to check and see what
subscriptions are available?
What message type did you define in your Orchestration Port? I think that
is what is causing your problem. Have you thought of accepting the messages
as an Untyped Message? That is, as an XmlDocument. You can always cast it
later on to a schema if you needed to.
You might also want to look at the message context of your failed messages.
Just to see what properties are there and that values they have.
Some other ideas might be to do direct message box binding on the Receive
Port. Then, use BTS. InboundTransportLocation for routing. Just make sure
you change this setting inside the Orchestration or set a custom flag to
processes otherwise when you send the messages it will match the subscriptio
n
again.
Hope this helps.
Stephen W. Thomas
http://www.geekswithblogs.net/sthomas
"Michael" wrote:
> I have two schema, both schema share the same root node name and neither h
as
> a target namespace. Note they're not our schema and we must be able to us
e
> them in there current form. Ok, its a very simple orchestration, in fact
> almost identical to the solution in that comes with the MQ Adapter SDK. T
he
> only difference being the ports in my orchesrtation are based on the schem
a
> type and not XmlDocument. I'm getting the following errors, has anyone el
se
> solved these problems?
>
> If we run the solution with an XmlReceive on the receive from MQ port then
> we get the following entry in the event log.
>
> "There was a failure executing the receive pipeline:
> "Microsoft.BizTalk.DefaultPipelines.XMLReceive" Source: "XML disassembler"
> Receive Location: "MQS://MQServer/QMgr/QUEUE1" Reason: The disassembler
> cannot retrieve the document specification by using this type: "msg". Eith
er
> the schema is not deployed correctly, or more than one schema is deployed
for
> the same message type."
>
> That makes sense as both my deployed schema share the same root node name
> and neither has a namespace. After hunting around a bit I found a solutio
n
> that involves creating a pipeline, adding an xml disassembler, and explici
ty
> specifying the fully qualified name of the schema in the Document schema
> collection. I have also set the allow unrecognized message property to tr
ue.
> I implemented this solution and receive the following entry in the event
> log.
>
> "The Messaging engine failed to process a message submitted by
> adapter:MQSeries Source URL:MQS://MQServer/Qmgr/QUEUE1. Details:Could not
> find a matching subscription for the message. . This error occurs if the
> subscribed orchestration schedule or send port has not been started, or if
> some of the message properties necessary for subscription evaluation have
not
> been promoted. Please refer to Health and Activity Tracking tool for more
> detailed information on this failure"
>
> I looked around for a solution to this problem. One being to build a cust
om
> pipeline component and promote a message type. So I assigned a unqiue
> namespace to our schema and built the disassembler to promote the
> "MessageType" context property. I still got the same error.
>
> Any ideas on what else I can try?
[ Post a follow-up to this message ]
|