BizTalk Server General - MSMQT and Orchestration

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server General > June 2004 > MSMQT and Orchestration





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author MSMQT and Orchestration
Sam

2004-04-05, 6:38 pm

I am writing a message to BizTalk (MSMQT) logical queue
using MSMQ APIs. My orchestration
is bound to the MSMQT receive location but never kicks off
after receving the message. Instead the
following error is logged in the application event log

Error
=====
MSMQT failed to publish the message coming into the queue
DIRECT=OS:wdussbiz1\Private$\USSBOCBundl
eRequesttoHO,
because no consumer was waiting for it.

If I bind the same orchestration to a FILE receive port,
it works fine.

Any help appreciated

Sam
Christof

2004-04-06, 6:39 pm

Did you create a subscription for that particular orchestration? What is
your receive port reffering to? Is it bound? Can you check with the
subscriptionviewer?

Regards,
Christof


"Sam" <anonymous@discussions.microsoft.com> wrote in message
news:18d4001c41b5b$353de840$a101280a@phx
.gbl...
> I am writing a message to BizTalk (MSMQT) logical queue
> using MSMQ APIs. My orchestration
> is bound to the MSMQT receive location but never kicks off
> after receving the message. Instead the
> following error is logged in the application event log
>
> Error
> =====
> MSMQT failed to publish the message coming into the queue
> DIRECT=OS:wdussbiz1\Private$\USSBOCBundl
eRequesttoHO,
> because no consumer was waiting for it.
>
> If I bind the same orchestration to a FILE receive port,
> it works fine.
>
> Any help appreciated
>
> Sam



Sam

2004-04-06, 9:38 pm

My receive port has 1 receive location which is
a MSMQT location. My logical port is bound to this
physical receive location. I do not see any
subscriptionviewer in BTS 2004 but when I stop
the orchestration and unelist it, the receive location
is disabled.

It appears it is a problem in the Schema supposedly
If the xml coming is not prefixed with a namespace,
it throws the xml away and gives the error about no
consumer.

I am trying to rework the schema in the BizTalk
Schema editor to see how I can comply with MSMQT needs.

Sam


>-----Original Message-----
>Did you create a subscription for that particular

orchestration? What is
>your receive port reffering to? Is it bound? Can you

check with the
>subscriptionviewer?
>
>Regards,
>Christof
>
>
>"Sam" <anonymous@discussions.microsoft.com> wrote in

message
> news:18d4001c41b5b$353de840$a101280a@phx
.gbl...
off[color=darkred]
queue[color=darkred]
>
>
>.
>

Christof

2004-04-07, 2:38 am

The need for a fully qualified XML name is not an MSMQT need. BizTalk
Server needs this information in order to match your message with the
correct schema. Without the schema information it can never promote
properties or do any routing based upon content.

Regards,
Christof


"Sam" <anonymous@discussions.microsoft.com> wrote in message
news:196fd01c41c3c$f2b4d7d0$a101280a@phx
.gbl...[color=darkred]
> My receive port has 1 receive location which is
> a MSMQT location. My logical port is bound to this
> physical receive location. I do not see any
> subscriptionviewer in BTS 2004 but when I stop
> the orchestration and unelist it, the receive location
> is disabled.
>
> It appears it is a problem in the Schema supposedly
> If the xml coming is not prefixed with a namespace,
> it throws the xml away and gives the error about no
> consumer.
>
> I am trying to rework the schema in the BizTalk
> Schema editor to see how I can comply with MSMQT needs.
>
> Sam
>
>
> orchestration? What is
> check with the
> message
> off
> queue


Sam

2004-04-07, 2:04 pm

Here is my schema

<?xml version="1.0" encoding="utf-16"?>
<xs:schema
xmlns:b="http://schemas.microsoft.com/BizTalk/2003"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:annotation>
<xs:appinfo>
<schemaInfo
xmlns="http://schemas.microsoft.com/BizTalk/2003"
root_reference="BundleRequest" />
</xs:appinfo>
</xs:annotation>
<xs:element name="BundleRequest">
<xs:annotation>
<xs:appinfo>
<b:properties>
<b:property distinguished="true" xpath="/*[local-
name()='BundleRequest' and namespace-uri()='']/*[local-name
()='StudioId' and namespace-uri()='']" />
<b:property distinguished="true" xpath="/*[local-
name()='BundleRequest' and namespace-uri()='']/*[local-name
()='CutOffDate' and namespace-uri()='']" />
<b:property distinguished="true" xpath="/*[local-
name()='BundleRequest' and namespace-uri()='']/*[local-name
()='PrerequisitePacketBundleId' and namespace-uri()='']" />
</b:properties>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="StudioId" type="xs:string" />
<xs:element minOccurs="0" name="CutOffDate"
nillable="true" type="xs:dateTime" />
<xs:element minOccurs="0"
name="PrerequisitePacketBundleId" nillable="true"
type="xs:decimal" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

here is my instance of the schema (xml) which I validated
against the schema in the schema editor and it validated
fine.

<BundleRequest>
<StudioId>S4820900S1</StudioId>

<PrerequisitePacketBundleId>3000.33</PrerequisitePacketBund
leId>
</BundleRequest>

Yet when it reaches MSMQT, it gives the error of
"No consumer waiting..."

Sam

>-----Original Message-----
>The need for a fully qualified XML name is not an MSMQT

need. BizTalk
>Server needs this information in order to match your

message with the
>correct schema. Without the schema information it can

never promote
>properties or do any routing based upon content.
>
>Regards,
>Christof
>
>
>"Sam" <anonymous@discussions.microsoft.com> wrote in

message
> news:196fd01c41c3c$f2b4d7d0$a101280a@phx
.gbl...
queue[color=darkred]
kicks[color=darkred]
log[color=darkred]
port,[color=darkred]
>
>
>.
>

Christof

2004-04-07, 2:53 pm

Can somebody jump in who has experience in using MSMQT please?
(We use MQseries...)

Regards!
Christof


"Sam" <anonymous@discussions.microsoft.com> wrote in message
news:1518801c41cc9$1972ba90$a001280a@phx
.gbl...[color=darkred]
> Here is my schema
>
> <?xml version="1.0" encoding="utf-16"?>
> <xs:schema
> xmlns:b="http://schemas.microsoft.com/BizTalk/2003"
> xmlns:xs="http://www.w3.org/2001/XMLSchema">
> <xs:annotation>
> <xs:appinfo>
> <schemaInfo
> xmlns="http://schemas.microsoft.com/BizTalk/2003"
> root_reference="BundleRequest" />
> </xs:appinfo>
> </xs:annotation>
> <xs:element name="BundleRequest">
> <xs:annotation>
> <xs:appinfo>
> <b:properties>
> <b:property distinguished="true" xpath="/*[local-
> name()='BundleRequest' and namespace-uri()='']/*[local-name
> ()='StudioId' and namespace-uri()='']" />
> <b:property distinguished="true" xpath="/*[local-
> name()='BundleRequest' and namespace-uri()='']/*[local-name
> ()='CutOffDate' and namespace-uri()='']" />
> <b:property distinguished="true" xpath="/*[local-
> name()='BundleRequest' and namespace-uri()='']/*[local-name
> ()='PrerequisitePacketBundleId' and namespace-uri()='']" />
> </b:properties>
> </xs:appinfo>
> </xs:annotation>
> <xs:complexType>
> <xs:sequence>
> <xs:element name="StudioId" type="xs:string" />
> <xs:element minOccurs="0" name="CutOffDate"
> nillable="true" type="xs:dateTime" />
> <xs:element minOccurs="0"
> name="PrerequisitePacketBundleId" nillable="true"
> type="xs:decimal" />
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema>
>
> here is my instance of the schema (xml) which I validated
> against the schema in the schema editor and it validated
> fine.
>
> <BundleRequest>
> <StudioId>S4820900S1</StudioId>
>
> <PrerequisitePacketBundleId>3000.33</PrerequisitePacketBund
> leId>
> </BundleRequest>
>
> Yet when it reaches MSMQT, it gives the error of
> "No consumer waiting..."
>
> Sam
>
> need. BizTalk
> message with the
> never promote
> message
> queue
> kicks
> log
> port,


Matt Milner

2004-04-07, 2:53 pm

Are you sending the exact same XML in MSMQT and in the file system? That
is, do both have the missing namespace etc.?

also, are you using the same receive pipeline for both; the xml receive
pipeline?

The subscription viewer is a .exe in the sdk/utilities folder that will let
you view the subscriptions you have active on your system.

also, what does the code look like that you are using to send the message?
Can you see, in HAT, the message coming in and validate that it looks like
the same XML you are putting in your file?

matt




"Christof" <bts2004communityfeedback (at) hotmail (dot) com> wrote in
message news:eXc%23AzMHEHA.2012@TK2MSFTNGP09.phx.gbl...
> Can somebody jump in who has experience in using MSMQT please?
> (We use MQseries...)
>
> Regards!
> Christof
>
>
> "Sam" <anonymous@discussions.microsoft.com> wrote in message
> news:1518801c41cc9$1972ba90$a001280a@phx
.gbl...
>
>



Sam Khopkar

2004-04-07, 6:42 pm

>Are you sending the exact same XML in MSMQT and in the
>file system? That
>is, do both have the missing namespace etc.?


Correct. The exact same XML works fine thru the FILE
receive adapter but not thru the MSMQ receive adapter

>also, are you using the same receive pipeline for both;
>the xml receive pipeline?


No. I am using the default passthru pipeline because
if I use the XMLReceive pipeline the disassembler complains
about the XML. The same default XML Receive pipeline does
work fine when used in a FILE adapter.

>also, what does the code look like that you are using to
>send the message?


The code is identical to the SendMSMQMessage in
SDK\Samples\Adapters and looks as follows

System.Messaging.Message writeMessage = new
System.Messaging.Message();

writeMessage.Label = MessageLabel;
writeMessage.Priority = MsgPriority;
writeMessage.Recoverable = true;

StreamWriter wr = new StreamWriter
(writeMessage.BodyStream,System.Text.Encoding.Unicode);
wr.Write(xmlToWrite);
wr.Flush();
sendQueue.Send(writeMessage, trans);

>Can you see, in HAT, the message coming in and validate
>that it looks like the same XML you are putting in your
>file?


In HAT I only see a routing failure with a Suspended
(Cannot resume) state with no name on the instance.
The "no consumer waiting.." shows up sometimes in the
app event log and sometimes no errors show up.

When I validate the xml data against schema in the
BizTalk schema editor, there are no errors or warnings
and FILE adapter is happy with the xml which lead me to
believe the xml is OK but apparently MSMQT does not like
it for some reason.

Sam

>-----Original Message-----
>Are you sending the exact same XML in MSMQT and in the

file system? That
>is, do both have the missing namespace etc.?
>
>also, are you using the same receive pipeline for both;

the xml receive
>pipeline?
>
>The subscription viewer is a .exe in the sdk/utilities

folder that will let
>you view the subscriptions you have active on your system.
>
>also, what does the code look like that you are using to

send the message?
>Can you see, in HAT, the message coming in and validate

that it looks like
>the same XML you are putting in your file?
>
>matt
>
>
>
>
>"Christof" <bts2004communityfeedback (at) hotmail (dot)

com> wrote in
>message news:eXc%23AzMHEHA.2012@TK2MSFTNGP09.phx.gbl...
please?[color=darkred]
message[color=darkred]
[local-[color=darkred]
[local-name[color=darkred]
[local-[color=darkred]
[local-name[color=darkred]
[local-[color=darkred]
[local-name[color=darkred]
='']" />[color=darkred]
type="xs:string" />[color=darkred]
validated[color=darkred]
validated[color=darkred]
<PrerequisitePacketBundleId>3000.33</PrerequisitePacketBund[color=darkred]
MSMQT[color=darkred]
can[color=darkred]
location[color=darkred]
needs.[color=darkred]
Can you[color=darkred]
in[color=darkred]
logical[color=darkred]
event[color=darkred]
the[color=darkred]
\Private$\USSBOCBundleRequesttoHO,[color
=darkred]
receive[color=darkred]
>
>
>.
>

Matt Milner

2004-04-07, 11:43 pm

When you say the xml disassembler complains about the XML, what do you mean
exactly? Does it say it cannot resolve the schema? Does it say it is
malformed?

Can you find the messages from HAT for both a file and msmqt receive and see
what the differences are in the context properties. it sounds like the
adpaters are behaving differently in setting up some basics for the pipeline
to work with. The fact that you use the passthrough pipeline is probaby why
no consumers are found because the message type is not determined by the
passthrough.

do you have a need to not use namespaces in your instance document? if not,
biztalk really likes to have them there and they make doucment -> schema
resolution much better/faster.

Matt


"Sam Khopkar" <anonymous@discussions.microsoft.com> wrote in message
news:19be101c41ceb$3b5f4c50$a401280a@phx
.gbl...[color=darkred]
>
> Correct. The exact same XML works fine thru the FILE
> receive adapter but not thru the MSMQ receive adapter
>
>
> No. I am using the default passthru pipeline because
> if I use the XMLReceive pipeline the disassembler complains
> about the XML. The same default XML Receive pipeline does
> work fine when used in a FILE adapter.
>
>
> The code is identical to the SendMSMQMessage in
> SDK\Samples\Adapters and looks as follows
>
> System.Messaging.Message writeMessage = new
> System.Messaging.Message();
>
> writeMessage.Label = MessageLabel;
> writeMessage.Priority = MsgPriority;
> writeMessage.Recoverable = true;
>
> StreamWriter wr = new StreamWriter
> (writeMessage.BodyStream,System.Text.Encoding.Unicode);
> wr.Write(xmlToWrite);
> wr.Flush();
> sendQueue.Send(writeMessage, trans);
>
>
> In HAT I only see a routing failure with a Suspended
> (Cannot resume) state with no name on the instance.
> The "no consumer waiting.." shows up sometimes in the
> app event log and sometimes no errors show up.
>
> When I validate the xml data against schema in the
> BizTalk schema editor, there are no errors or warnings
> and FILE adapter is happy with the xml which lead me to
> believe the xml is OK but apparently MSMQT does not like
> it for some reason.
>
> Sam
>
> file system? That
> the xml receive
> folder that will let
> send the message?
> that it looks like
> com> wrote in
> please?
> message
> [local-
> [local-name
> [local-
> [local-name
> [local-
> [local-name
> ='']" />
> type="xs:string" />
> validated
> validated
> <PrerequisitePacketBundleId>3000.33</PrerequisitePacketBund
> MSMQT
> can
> location
> needs.
> Can you
> in
> logical
> event
> the
> \Private$\USSBOCBundleRequesttoHO,
> receive


2004-04-11, 4:28 pm

Here is the error message logged in the event log when I
use the XMLReceive pipeline with MSMQT receiver. Note that
the same pipeline does not complain with FILE receiver with
the same XML data.

The MSMQT subservice failed to process incoming message,
error code "There was a failure executing the receive
pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLReceive"
Source: "XML disassembler" Receive
Location: "USSBOCBundleRequesttoHO" Reason: The
disassembler cannot retrieve the document specification by
using this
type: "http:///schemas.microsoft.com/BizTalk/2003#BundleReq
uest". Either the schema is not deployed correctly, or
more than one schema is deployed for the same message
type. " .

There was a failure executing the receive
pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLReceive"
Source: "XML disassembler" Receive
Location: "USSBOCBundleRequesttoHO" Reason: None of the
components at Disassemble stage can recognize the data.

The problem is I get the instance docs from some other
app which does not include the namespace and changing
that app will be hard. So I have to make the XML data
work without the namespaces.

How can I check in Biztalk that it has the schema available
and there no more than one schema for the same message
type.

Thanks
Sam
>-----Original Message-----
>When you say the xml disassembler complains about the

XML, what do you mean
>exactly? Does it say it cannot resolve the schema? Does

it say it is
>malformed?
>
>Can you find the messages from HAT for both a file and

msmqt receive and see
>what the differences are in the context properties. it

sounds like the
>adpaters are behaving differently in setting up some

basics for the pipeline
>to work with. The fact that you use the passthrough

pipeline is probaby why
>no consumers are found because the message type is not

determined by the
>passthrough.
>
>do you have a need to not use namespaces in your instance

document? if not,
>biztalk really likes to have them there and they make

doucment -> schema
>resolution much better/faster.
>
>Matt
>
>
>"Sam Khopkar" <anonymous@discussions.microsoft.com> wrote

in message
> news:19be101c41ceb$3b5f4c50$a401280a@phx
.gbl...
complains[color=darkred]
does[color=darkred]
to[color=darkred]
system.[color=darkred]
to[color=darkred]
MSMQT[color=darkred]
xpath="/*[color=darkred]
xpath="/*[color=darkred]
xpath="/*[color=darkred]
<PrerequisitePacketBundleId>3000.33</PrerequisitePacketBund[color=darkred]
your[color=darkred]
in[color=darkred]
this[color=darkred]
supposedly[color=darkred]
namespace,[color=darkred]
about no[color=darkred]
particular[color=darkred]
wrote[color=darkred]
never[color=darkred]
into[color=darkred]
>
>
>.
>

Iuliu Rus

2004-05-25, 4:37 pm

If the file receiver works for this data with the XML pipeline (are you
sure that your FILE location has the same pipeline as the MSMQT location?),
the MSMQT port should work too unless the data you are sending is somehow
different. Try creating a FILE send port that puts data somewhere on the
disk, change the pipeline for the MSMQT port to pass-through and bind the
FILE send port to the MSMQT receive. This way you will drop the data on the
disk and you can see what is the difference between what MSMQT is getting
and what you are dropping on the FILE receive.

Michael Roze [MSFTF]

2004-05-25, 11:38 pm

CIL.

Thanks,
MRoze
[vbcol=seagreen]
[MR]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
The above is a fairly generic error.
One of the possible reasons being another deployed assembly is using the
same namespace.
If this is the case can you please undeploy the other assembly and then try
this secnario?
[MR]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[vbcol=seagreen]
[MR]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
The above error is usually becaue the data encoding is ANSI.
ANSI data fromat is not supported while using the MSMQT inbound adapter.
Can you please confirm the data type of the document?
If it is ANSI, can you please save [using notepad] the document as either
UNICODE/UTF-8 and retry?
[MR]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[vbcol=seagreen]


This posting is provided "AS IS" with no warranties, and confers no rights.

EBusiness Server Team

Todd Sussman

2004-05-30, 10:46 am

If you have more than one message with the same Root Element, you need to
create a custom Pipeline. In the XMLdisassembler, and specify the exact
schema he needs to validate against.

--
Todd Sussman
My opinion is neither copyrighted nor trademarked, and it's price
competitive. If you like, I'll trade for one of yours.

Remove The REMOVE! to reply.

"Michael Roze [MSFTF]" <mroze@online.microsoft.com> wrote in message
news:91r1TSrQEHA.3804@cpmsftngxa10.phx.gbl...
> CIL.
>
> Thanks,
> MRoze
>
> [MR]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> The above is a fairly generic error.
> One of the possible reasons being another deployed assembly is using the
> same namespace.
> If this is the case can you please undeploy the other assembly and then

try
> this secnario?
> [MR]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>
> [MR]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> The above error is usually becaue the data encoding is ANSI.
> ANSI data fromat is not supported while using the MSMQT inbound adapter.
> Can you please confirm the data type of the document?
> If it is ANSI, can you please save [using notepad] the document as either
> UNICODE/UTF-8 and retry?
> [MR]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>
>
>
> This posting is provided "AS IS" with no warranties, and confers no

rights.
>
> EBusiness Server Team
>



sabo

2004-06-20, 11:07 pm



[MR]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[vbcol=seagreen]
> The above error is usually becaue the data encoding is ANSI.
> ANSI data fromat is not supported while using the MSMQT inbound adapter.
> Can you please confirm the data type of the document?
> If it is ANSI, can you please save [using notepad] the document as either
> UNICODE/UTF-8 and retry?
> [MR]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>


I'm getting the same error while using an MSMQC
receive adapter. I'm fairly certain that the
encoding of the message is not ANSI.

When I send the same message, only via
the Submit adapter, I don't get the error,
and the message comes out of BTS via
a FILE send adapter and the encoding is
"utf-8".


Does anyone know if the error message
above can indicate anything besides
a problem with encoding?

Are there special encoding requirements for messages
when using the MSMQC adapter?


Thanks
Dan
Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com