Re: Infinite output messages for one input message

Tech-Archive recommends: Speed Up your PC by fixing your registry



Hi Dave,

Your logic makes a lot of sense and it sounds like that is what is
happening. I will try to map the opchestration directly to the receive port
as opposed to the message box. I was having some difficulty doing this
earlier because I want my orchestration to work with the xml file from the
result of the map, which is MainOut.xml. Mapping to the receive port means
that my orchestration will receive MainIn.xml. Is that right?

Thanks... Hedge

"Dave" wrote:

On Apr 17, 4:04 pm, Tony Hedge <TonyHe...@xxxxxxxxxxxxxxxxxxxxxxxxx>
wrote:
Hello all,

Any help at all would be greatly appreciated, I think the following is
simple to follow. I'm using BizTalk 2006...

I have a schema that produces the following xml:
<MainIn>
<InA>
<InAElement1></InAElement1>
<InAElement2></InAElement2>
</InInA>
<InB>
<InBElement1></InBElement1>
<InBElement2></InBElement2>
</InB>
.....
<InF>
<InFElement1></InFElement1>
<InFElement2></InFElement2>
</InF>
</MainIn>

I have another schema that produces the following xml:
<MainOut>
<OutElement1></OutElement1>
<OutElement2></OutElement2>
<OutElement3></OutElement3>
<OutElement4></OutElement4>
</MainOut>

I have a map with MainIn as the source schema and MainOut as the destination
schema. I have reduced mappings to the following two direct node mappings for
testing:
InAElement1 to OutElement1
InBElement1 to OutElement2

I have a receive port tied to this map, so that when I drop a xml file
matching schema MainIn.xsd it will put an MainOut.xml file in the message
box. I then have a very simple orchestration that receives MainOut.xml files
from the message box and send it out to a send port. Sounds pretty simple and
it *almost* works...

However when I drop a MainIn.xml file with one 'record', I get back infinite
MainOut.xml files in the folder tied to the send port!!! File after file is
being generated. What is causing one input xml to produce so many messages???
The situation is as simple as I've described. I have no functoids in my map,
and only a receive port, receive message shape, send message shape, and send
port in my orchestration. This is driving me crazy!! A client is going to
be sending us xml files almost identical to MainIn.xsd, and I have to output
almost identical to MainOut.xml so I need to know what's causing this
behavior. Thanks in advance for any help. :-)

Tony Hedge

You might try binding your orchestration to your receive port..
It seems to me that the map in your receive port is creating a message
of type MainOut, and the presence of this in your messagebox is
causing the orchestration to activate. Your orchestration (I'm
guessing!) is then publishing this message to the messagebox to be
picked up by the send port. However, this message is also of type
MainOut, thereby causing another orchestration to activate, publish
another message etc. etc.

Couple of solutions:
1. Bind the receive port to the orchestration, ditto the sent port
2. Do the mapping inside the orchestration i.e. your orchestration
activates on receipt of a MainIn and creates a MainOut

From the way you describe your solution do you even need an
orchestration? You could just do the transform as you describe it in
your receive port and then use a suitably filtered send port to
transmit the message

Hope this helps!
Dave


.



Relevant Pages

  • Re: Send Port Order of Operations - Document Mapping Error 2
    ... The issue was that the message coming out of the orchestration did not ... therefore the send port could not apply the correct map to the ... > message types to be handled by the same orchestration both inbound and ...
    (microsoft.public.biztalk.general)
  • Re: Infinite output messages for one input message
    ... Yes the orchestration is pretty bland, but I was just wanted to bind the ... I wanted the map on the receive port to create MainOut and then I could ...
    (microsoft.public.biztalk.general)
  • Re: Infinite output messages for one input message
    ... I will try to map the opchestration directly to the receive port ... that my orchestration will receive MainIn.xml. ... of type MainOut, and the presence of this in your messagebox is ...
    (microsoft.public.biztalk.general)
  • Best Practice ? - Where to put the map
    ... I have several interfaces that use maps. ... the map, in the orchestration or the receive port? ... orchestration, I can no longer extract that data from the ...
    (microsoft.public.biztalk.general)
  • Re: Biztalk doesnt seem to be reading my xml file properly
    ... I tied the map I used directly to the send port, ... >> dumps out an XML file to a send port. ... >> The orchestration is a straight field to field mapping. ...
    (microsoft.public.biztalk.server)