Forum Replies Created
-
AuthorPosts
-
Sure, that sounds like it might work. Make sure you have Msg A and Msg B on different ports or they might get tied up behind each other.
Now you need to make sure Message A never arrives before Message B. Let me know how it goes.
It’s actually much easer then that.
I took me about 4 lines inside an two expression shape and a loop.I’ll post the sample later tonight.
Take a look at my sample on Streaming Debatching in BizTalk 2004. It passes a message. You can just receive it as type XmlDoc.
Hope this helps.
Thanks for replay!!
but how can I pass a message to a C# method as a System.Xml.XmlDocument?…
thanks again!!I need to assign a value of an element from an incoming transaction to a variable in an orchestration. Can someone give me an example in realistic terms of an expression that would be utilized in the BizTalk expression editor to accomplish this.
Thank you in advance for your support.
Mike
example: MyVariable=incoming.message.fieldname ??
[quote:c53459c95c=\”Anonymous\”]Thanks for the reply..
Here is what I understood.
I want to promote ceratin field in the schema and use that in the filter condition and use that same field for correlation set.
But I have a question here.
In filter condition I need to mention the value which is not possible since these values come from incoming schema.
One more question I have. If I use correlation, do I need to specify the filter condition in receive shape?
Please give me some detail as I am confused with correlation and filter options.
Thanx in advance[/quote:c53459c95c]
I guess I am not sure what it is you’re asking. As I said in my last reply, you decide which method to use based on a single fact: Do you want the message you’re sending to be picked up by an already running orchestration instance, or to trigger a new orchestration instance?
How it works will all depend on that question.
I will comment on some of your questions though:
You don’t mix filters and correlations. Filter expressions are *onlY* available in activating receive shapes, and you cannot have an activating receive that follows a correlation set. Hence, they are mutually exclusive.If you don’t know the value of the promoted property you want to filter on, it sounds like you should at least be able to filter on the property being there. You can use the Exists() predicate in your filter expression to only pick up messages where the specified property exists in the message context, independent of its value.
Thanks for the reply.
What do you think about this:
1 – MSG B starts the orchestration and sets the correlation;
2 – the orchestration stops for MSG A (that basically contains the number os MSG Bs that will have to be collected)
3 – after MSG A is picked up, we follow the loop to pick all MSGs B accordingly to the initial correlation
This is a variant of the NON-UNIFORM Sequential convoy where we pick a summary message (MSG A) prior to initiate the loop. This would correspond to a 3 operation port.
[quote:431c7f32c0]I have a shape in an orchestration, and I wan%u00b4t to call to a class that inserts rows in a database , and I wan%u00b4t to pass a parameter extract of the xml on the shape…
How Can I do that? [/quote:431c7f32c0]If the method is not static, create a variable and set it’s type to .NET and choose the class. Then in an expression shape, you can say:
[code:1:431c7f32c0] myvar = new MyNamespace.MyClass(whatever);
myvar.MyMethod(a,b,c); [/code:1:431c7f32c0]If you have a static method, you can just call it directly without the variable.
I’m not sure what you mean \”pass a parameter extract of the xml on the shape\”. You can use xpath to pull of a selection of nodes from a message, and you can pass a message to a C# method as a System.Xml.XmlDocument.
how can i pass the message to an helper class?
Thanks for the reply..
Here is what I understood.
I want to promote ceratin field in the schema and use that in the filter condition and use that same field for correlation set.
But I have a question here.
In filter condition I need to mention the value which is not possible since these values come from incoming schema.
One more question I have. If I use correlation, do I need to specify the filter condition in receive shape?
Please give me some detail as I am confused with correlation and filter options.
Thanx in advance
August 8, 2006 at 4:26 AM in reply to: execute application windows and call biztalk rules engine #15219You’re right .. you can only use the Microsoft.RulesEngine.dll on a machine with the RulesEngineUpdateService installed. Technically there can be ways around that, but from a licensing standpoint, it’s not practical to pay for a BizTalk license for each user of your Windows application! The most common way to expose the Rules Engine to smart clients is via web service wrapper. Wrap up your rule(s) as a service(s) and simply call those services, leaving the rules processing for the box with the rules engine installed.
You have set up the send port to subscribe to the messages published by the receive port. The message will pass directly from the receive port to the send port with no orchestration involved
You need to remove the send port filter, bind the orchestration receive port to the physical receive port and the orchestration send port to the physical send port.
August 8, 2006 at 1:35 AM in reply to: Orchestration Message with Message Type == ‘.Net class’ #14999The easiest way is to let Biztalk do it for you:
Create a message using your .Net class – Message1
Create a variable using the same class – variable1Receive the message.
In an expression shape:
variable1 = Message1;
This will deserialize the message into an object.In a message assignment shape:
Message2 = variable1;
This will serialize the object into a message.Alternatively you could pass the message to an external .Net class and use the XmlSerializer to do this.
You’ll want to make sure your tracking host is enabled. Check your hosts in BizTalk Server Admin and make sure one of them has the Allow Host Tracking box checked. Also note there is a delay in getting the tracking data and your SQL Server jobs need to be running.
Other then that, it sounds like what you are doing should work.
Is there a way in BizTalk to setup a variable so that it can store a value, which can be used later for insertions into other tables, or be used repeatedly in a number of expressions?
Thank you in advance for your support.
Mike
-
AuthorPosts