Listen shape problem
Web Server forum
Back To The Forum Home!Search!Private Messaging System

Web Server Talk Web Server Talk > Web Servers reviews > BizTalk Server > BizTalk Server Orchestration > Listen shape problem




  Last Thread   Next Thread Next
  Show Printable Version Email this Page Subscribe to this Thread      Post New Thread    Post A Reply      

    Listen shape problem  
kplkumar@gmail.com


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
11-18-05 10:52 PM

I have an orchestration I am exposing as a webservice. I have a port
with multiple operations denoting multiple web methods.
I have a listen shape with each branch having a receive and send shape.
When I actually publish the webservice and deploy my orchestration, and
when I call any web method, the call always goes to the first branch.
I know we can create a filter expression in the receive shapes.

Can someone tell me how to specify the filter expression for routing it
to a different branch based on the operation?
I have been trying to use the BTS.Operation filter, but I do not know
how to specify the expression. I tried doing, for example,
"port.operation1" then I tried "operation1". None of these worked.

Help!!






[ Post a follow-up to this message ]



    Re: Listen shape problem  
Matt Milner


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
11-18-05 10:52 PM

If I were to guess, I'd say that all of your methods receive the same type
for the parameter?

If that is the case, it might be easier to have one receive, and then use
the decide shape to branch based on the operation specified in the context
properties.  BizTalk routing works at the port level and not the operation
level, so the message will get routed to the port, but once there, if the
message types are the same it is difficult to know which receive shape
should get the message, so you see what you have.

Matt


<kplkumar@gmail.com> wrote in message
news:1132331617.863462.71550@g43g2000cwa.googlegroups.com...
>I have an orchestration I am exposing as a webservice. I have a port
> with multiple operations denoting multiple web methods.
> I have a listen shape with each branch having a receive and send shape.
> When I actually publish the webservice and deploy my orchestration, and
> when I call any web method, the call always goes to the first branch.
> I know we can create a filter expression in the receive shapes.
>
> Can someone tell me how to specify the filter expression for routing it
> to a different branch based on the operation?
> I have been trying to use the BTS.Operation filter, but I do not know
> how to specify the expression. I tried doing, for example,
> "port.operation1" then I tried "operation1". None of these worked.
>
> Help!!
>







[ Post a follow-up to this message ]



    Re: Listen shape problem  
Jason Agostoni


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
11-19-05 12:47 PM

Matt is correct ... my guess is that both of your operations are
received the same namespace message an so BizTalk finds the first
matching branch.  As Matt said, BizTalk works at the port level not the
operation level (which throws you and me both off).  Either change one
of your message namespaces to be different or use two different ports.






[ Post a follow-up to this message ]



    Re: Listen shape problem  
kplkumar@gmail.com


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
11-21-05 10:51 PM

This is what I did.

I created  a schema in my biztalk project. I then promoted some of the
properties. In my case,

HeaderSchema.xsd where I had promoted MessageType and EventType.

Then I created multipart messages for each of the incoming branches'
receive shape and added this schema to be one of the parts, besides the
actual message that I will be receiving in that receive shape.

Then, in the receive shape I added filter expression, where I said
MessageType=="something1" AND EventType=="something2" for receive shape
in the first branch and, MessageType=="something3" AND
EventType=="something4" for receive shape in the second branch and so
on for each branch's receive shape.

You can then publish the orchestration as a web service and then while
calling the webmethod add another paramter, which is of type header
schema and enter your values there. For the first method (branch 1) set
the property values of the header schema object to be
MessageType=="something1" and EventType=="something2", then set this
value for each and every web method call. This way the listen shape
will know which branch to forward it to based on the filter specified
in the receive shape.

I know this is not the greatest way to do this, however with the
limitations in documentation and help from microsoft on this sucker
"BizTalk" this is all we could come up with.






[ Post a follow-up to this message ]



    Sponsored Links  




 





   All times are GMT. The time now is 03:43 AM.      Post New Thread    Post A Reply      
  Last Thread   Next Thread Next


Most Popular forums 

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is OFF
 
Medical and Health forum | Computer Games Reviews | Graphics design forum

Back To The Top
Home | Usercp | Faq | Register