Forum Replies Created
-
AuthorPosts
-
It seems like there should be an initialize correlation shape!
To get around the problem I posted earlier today about the parallel action shape, I’m considering starting two different orchestrations. I don’t want to use the StartOrch shape because I need to continue when they are done.
Thus, I was going to use a Send with direct binding, then have a gather-loop. The problem is that I might call Orch-X and I might call Orch-Y or I might not call either one (but each one will not be called more than once). I’m planning on doing a receive in a loop based on counter.
If I keep the send that starts Orch-X and Orch-Y in a parallel shape for readability, then neither branch can initialize the correlation.
My correlation will be a GUID in a SOAP-Header.
If I switch to sequential where I might call Orch-X then I might call Orch-Y, then I guess I have to put the second Send under a decide shape that has to know if the previous Send already initialized correlation or not?
Sorry if I’m babbling – life would be much easier if the parallel shape worked like I think it should.
Any sympathetic souls out there?
Neal Walters
http://Biztalk-Training.comyou’re right i was getting the 500 error. I still don’t know what was wrong with it, but I had to erase the schema, receive shapes and start all over using differnt names and now it works.
I’ve found that for making certain changes it’s not enough just to restart the biztalk server host, need to restart the machine. Strange….
Wasted alot of hours but seems to work now
Thanks
Thanks for you replay But i am not able to understand fully..Could you plz elobrate bit in detail..
Is there any way to print to a plotter? Will the length/width change when you select a different printer?
Also, it would be nice to print to a PDF file for the zoom capabilities, but every time I try it, I cannot change the width, thus I get the \”window panes\” that all print serially, making it impossible to read, without printing out and getting a big roll of tape to tape it all together.
Neal Walters
http://Biztalk-Training.comAs far as I am aware there is no way to create custom shapes for the orchestration designer.
However to create reuseable code, you can write an .NET assembly and call this code from an expression or messageassignment shape.
I hope I understand your question – you are asking how the basics of promoted fields, correct?
Make sure you are in a \”MessageAssignment\” shape – i.e. you are constructing a new message if you want to set the value of a message on the left of the equal sign.
msgout(TestSchema.PropertySchema.CustomerId) = msgin(TestSchema.PropertySchema.CustomerId);
If you just need to set a variable, you don’t need to be in a \”MessageAssignment\”:
myString = msgin(TestSchema.PropertySchema.CustomerId);
When you type the parentheses after the message-name, intellisense should give you a list of promoted fields. Just scroll down to your project’s namespace.
If you are using distinguished fields, the syntax is quite different:
msgout.CustomerId = msgin.CustomerId;
You might have to do a build once to get the intellisense to work.
You can also use the xpath statement as an alternative, so in this example if have a distinguished field on the left, but I’m using xpath on the right.
msgout.CustomerId = xpath(msgin,\”string(//Order/CustomerNumber)\”);
Xpath can also be used on the left side of the equals sign.
Neal Walters
http://Biztalk-Training.comPart 2 of my question –
I do have work to do after the parallel shape, so I need to continue after all three branches of the parallel have finished.
Now I’m debating about Call Orch, Start Orch, and using Send/Receive with direct binding. I recently posted about the downside of \”Call Orch\”, i.e. you cannot see the called-orch in the debugger and as far as I can tell there is absolutely no history of it in HAT.
If I do Start-Orch, then I would have to do polling or something to be able to run the final logic that must occur after each branch has finished.
If I do a send/receive with direct binding, I’m afraid I may still not get parallelism. I.e. the first send/receive may stop the whole orchestration until that receive comes back.
Thanks again,
Neal Walters
http://Biztalk-Training.comWith SQL errors, I find it is better to go to the EventViewer and look for error messages than to look in HAT. The EventViewer will usually tell the whole story.
Neal Walters
http://Biztalk-Training.comAre you checking the HttpResponse code when you post?
It’s very common to get the 500 error.I usually write a VB/Script to post the message and keep testing just that until I get past the 500 errors.
Then I switch to a real message and/or real pipeline.
Does HAT show the message was received?
Neal Waltrs
http://Biztalk-Training.cois it possible that you could \”Start\” the orchestration instead of \”Call\”ing it. Call is synch and Start is asynch. Maybe that’ll fix it.
Also, seems like your orchestration will never finish since you have a parellel shape, I’ve ran into this before, all branches must finish before the orchestration can proceed out of the parallel shape
Gino
I call a web service which returns me potentially three types of orders:
1) Good Order (no exceptions)
2) Order with Business Exceptions
3) Order with Out-of-Inventory ExceptionsI will never get more than 3, but I might get only one of the three or any combination.
I have three branches under a parallel shape. Each checks to see if it has the desired type of order, and if so it processes it.
Right now, I’m getting two orders that flow through branch 2 and 3.
Unfortunately, what is happening is that branch 3 is doing a send/receive (direct binding) that starts an independent orchestration, which eventually causes our internal Human Workflow. Meanwhile, branch 2 is just sitting there doing nothing.
The goal was that branch 2 and 3 would be parallel and that if a receive in either branch is encountered, the other branch keeps running.
Thanks,
Neal Walters
http://Biztalk-Training.comThank you Greg!
This did the trick marvellously!! 🙂
I am trying to send the datas in flat file delimited to SQL.
I am getting the following avertissement and it is not inserting in the SQL.
The adapter failed to transmit message going to send port \”SQL://KAVITHA/bizTest/\”. It will be retransmitted after the retry interval specified for this Send Port. Details:\”HRESULT=\”0x80040e14\” Description=\”Impossible de trouver la proc%u00e9dure stock%u00e9e ‘name’.\”
Can anyone can help me?
Thank youThe parser needs to know how to identify the result line.
You can use the Tag property in the record definition.
e.g.
LField1Field2Field3Field4Field5
LField1Field2Field3Field4Field5
…..
LField1Field2Field3Field4Field5
RField1Field2You can define an L record Tag = \”L\” maxoccurs = unbounded and a Result record Tag = \”R\” maxoccurs = 1.
The Tag data is not preservedIs there any data within each record that is specific to that record type.
and is you file delimited or positional
Can you post an example of the actual data you are trying to parse.I have that text :
structure line
structure line
…
structure line
result structure lineI have made Xml Schema like to the AllAsOne.xsd of an example FlatFileDiss, but I’ve changed places header and a body.
And I catch error while processing this FlatFile…
If I shall establish maxOccurs and minOccurs properties of an element \”Body\” equal to count of \”structure line\” mistakes will not be. But it is wrong, because the count of \”structure line\” is not known. -
AuthorPosts