| Author |
Orchestration Error - missing 'send'
|
|
| Sachin Kulkarni 2004-05-19, 8:40 pm |
| I am using a public request-response port in my orchestration. I am planning
to use this port to expose my orchestration as a web service. The
orchestration has several steps including control shapes. First step is
linked to 'Receive' operation and the last step in the orchestration is
linked to 'Send' operation of the port. When I compile the project I receive
following error
incomplete requestresponse operation; missing 'send'
I made sure that both operations are linked to corresponding actions shapes
with proper message settings. I have used normal new configured port wizard
with binding set to 'Specify Later'
| |
| Matt Milner 2004-05-19, 8:40 pm |
| The most common cause I have seen for this is that the flow of your
orchestration does not let the compiler know for sure that the
request/response pair will actually work. That is, there is something in
your orchestration that could keep you from getting to sending the response.
if you post the orchestration file we can have a look and try to help with
more details.
matt
"Sachin Kulkarni" <sachinkmail-tech@yahoo.com> wrote in message
news:%23mahBgfPEHA.2132@TK2MSFTNGP11.phx.gbl...
> I am using a public request-response port in my orchestration. I am
planning
> to use this port to expose my orchestration as a web service. The
> orchestration has several steps including control shapes. First step is
> linked to 'Receive' operation and the last step in the orchestration is
> linked to 'Send' operation of the port. When I compile the project I
receive
> following error
>
> incomplete requestresponse operation; missing 'send'
>
> I made sure that both operations are linked to corresponding actions
shapes
> with proper message settings. I have used normal new configured port
wizard
> with binding set to 'Specify Later'
>
>
| |
| Sachin Kulkarni 2004-05-19, 11:43 pm |
| Yes, you are right, that's what I thought first. So I included response
actions in both branches of the control flow. Somehow it still thinks that
both of those actions may not return sucessfully. I cannot post the
Orchestration but following is the overview of my workflow
Step 1 : Receive (from Web Port operation)
Step 2: SQL Adapter Send-Receive
Step 3: Decision
If true - > run four parallel actions -> MSMQT send -> Construct
Response -> Send response to Web Service port operation
If false ->Construct Response -> Send response to Web Service
port operation
Sending response before Decision (Step 3) works. Obviously that's hardly
useful in this scenario.
"Matt Milner" <matt.milner@m3technologypartners dot com> wrote in message
news:OdIBf0fPEHA.1048@tk2msftngp13.phx.gbl...
> The most common cause I have seen for this is that the flow of your
> orchestration does not let the compiler know for sure that the
> request/response pair will actually work. That is, there is something in
> your orchestration that could keep you from getting to sending the
response.
> if you post the orchestration file we can have a look and try to help with
> more details.
>
> matt
>
>
> "Sachin Kulkarni" <sachinkmail-tech@yahoo.com> wrote in message
> news:%23mahBgfPEHA.2132@TK2MSFTNGP11.phx.gbl...
> planning
> receive
> shapes
> wizard
>
>
| |
| Sachin Kulkarni 2004-05-20, 5:42 am |
| Sorry, I was wrong. There was one more decision shape in the orchestration
which sends email if condition is not met. I had to change my business logic
to make the 'else' branch of this decision return SOAP response to the
caller.
So anyone facing similar problem, as Matt said, the solution is make sure
that all paths in the orchestration include an action that is linked to the
response operation. It's like
'not all code path return a value' compiler error in programming languages.
"Sachin Kulkarni" <sachinkmail-tech@yahoo.com> wrote in message
news:%231PxdxgPEHA.3660@TK2MSFTNGP11.phx.gbl...
> Yes, you are right, that's what I thought first. So I included response
> actions in both branches of the control flow. Somehow it still thinks that
> both of those actions may not return sucessfully. I cannot post the
> Orchestration but following is the overview of my workflow
>
> Step 1 : Receive (from Web Port operation)
> Step 2: SQL Adapter Send-Receive
> Step 3: Decision
> If true - > run four parallel actions -> MSMQT send ->
Construct
> Response -> Send response to Web Service port operation
> If false ->Construct Response -> Send response to Web Service
> port operation
>
> Sending response before Decision (Step 3) works. Obviously that's hardly
> useful in this scenario.
>
> "Matt Milner" <matt.milner@m3technologypartners dot com> wrote in message
> news:OdIBf0fPEHA.1048@tk2msftngp13.phx.gbl...
in[vbcol=seagreen]
> response.
with[vbcol=seagreen]
is[vbcol=seagreen]
is[vbcol=seagreen]
>
>
| |
| Scott Colestock 2004-05-20, 5:43 pm |
| This can get especially tricky once you have "catch" blocks involved. See
http://www.traceofthought.net/Perma...88ec5b5afa.aspx
for a discussion of this.
- Scott Colestock
"Sachin Kulkarni" <sachinkmail-tech@yahoo.com> wrote in message
news:%23x4SJOkPEHA.1388@TK2MSFTNGP09.phx.gbl...
> Sorry, I was wrong. There was one more decision shape in the orchestration
> which sends email if condition is not met. I had to change my business
logic
> to make the 'else' branch of this decision return SOAP response to the
> caller.
> So anyone facing similar problem, as Matt said, the solution is make sure
> that all paths in the orchestration include an action that is linked to
the
> response operation. It's like
> 'not all code path return a value' compiler error in programming
languages.
>
> "Sachin Kulkarni" <sachinkmail-tech@yahoo.com> wrote in message
> news:%231PxdxgPEHA.3660@TK2MSFTNGP11.phx.gbl...
that[vbcol=seagreen]
> Construct
Service[vbcol=seagreen]
message[vbcol=seagreen]
> in
> with
> is
> is
>
>
| |
| Narasimhan Padmanabhan 2004-05-20, 8:37 pm |
| The same logic goes for using messages and or variables in an orchestration.
The compiler merely follows the definite assignment rules that is followed
by all other languages.
Cheers!
This posting is provided "AS IS" with no warranties, and confers no rights.
EBusiness Server Team
--------------------
| >>From: "Sachin Kulkarni" <sachinkmail-tech@yahoo.com>
| >>References: <#mahBgfPEHA.2132@TK2MSFTNGP11.phx.gbl>
<OdIBf0fPEHA.1048@tk2msftngp13.phx.gbl>
<#1PxdxgPEHA.3660@TK2MSFTNGP11.phx.gbl>
| >>Subject: Re: Orchestration Error - missing 'send'
| >>Date: Thu, 20 May 2004 18:23:17 +1000
| >>Lines: 71
| >>X-Priority: 3
| >>X-MSMail-Priority: Normal
| >>X-Newsreader: Microsoft Outlook Express 6.00.2800.1409
| >>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409
| >>Message-ID: <#x4SJOkPEHA.1388@TK2MSFTNGP09.phx.gbl>
| >>Newsgroups: microsoft.public.biztalk.orchestration
| >>NNTP-Posting-Host: stargate.westfield.com.au 202.139.122.81
| >>Path:
cpmsftngxa10.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP09
.phx.gbl
| >>Xref: cpmsftngxa10.phx.gbl microsoft.public.biztalk.orchestration:6188
| >>X-Tomcat-NG: microsoft.public.biztalk.orchestration
| >>
| >>Sorry, I was wrong. There was one more decision shape in the
orchestration
| >>which sends email if condition is not met. I had to change my business
logic
| >>to make the 'else' branch of this decision return SOAP response to the
| >>caller.
| >>So anyone facing similar problem, as Matt said, the solution is make
sure
| >>that all paths in the orchestration include an action that is linked to
the
| >>response operation. It's like
| >>'not all code path return a value' compiler error in programming
languages.
| >>
| >>"Sachin Kulkarni" <sachinkmail-tech@yahoo.com> wrote in message
| >>news:%231PxdxgPEHA.3660@TK2MSFTNGP11.phx.gbl...
| >>> Yes, you are right, that's what I thought first. So I included
response
| >>> actions in both branches of the control flow. Somehow it still thinks
that
| >>> both of those actions may not return sucessfully. I cannot post the
| >>> Orchestration but following is the overview of my workflow
| >>>
| >>> Step 1 : Receive (from Web Port operation)
| >>> Step 2: SQL Adapter Send-Receive
| >>> Step 3: Decision
| >>> If true - > run four parallel actions -> MSMQT send ->
| >>Construct
| >>> Response -> Send response to Web Service port operation
| >>> If false ->Construct Response -> Send response to Web
Service
| >>> port operation
| >>>
| >>> Sending response before Decision (Step 3) works. Obviously that's
hardly
| >>> useful in this scenario.
| >>>
| >>> "Matt Milner" <matt.milner@m3technologypartners dot com> wrote in
message
| >>> news:OdIBf0fPEHA.1048@tk2msftngp13.phx.gbl...
| >>> > The most common cause I have seen for this is that the flow of your
| >>> > orchestration does not let the compiler know for sure that the
| >>> > request/response pair will actually work. That is, there is
something
| >>in
| >>> > your orchestration that could keep you from getting to sending the
| >>> response.
| >>> > if you post the orchestration file we can have a look and try to
help
| >>with
| >>> > more details.
| >>> >
| >>> > matt
| >>> >
| >>> >
| >>> > "Sachin Kulkarni" <sachinkmail-tech@yahoo.com> wrote in message
| >>> > news:%23mahBgfPEHA.2132@TK2MSFTNGP11.phx.gbl...
| >>> > > I am using a public request-response port in my orchestration. I
am
| >>> > planning
| >>> > > to use this port to expose my orchestration as a web service. The
| >>> > > orchestration has several steps including control shapes. First
step
| >>is
| >>> > > linked to 'Receive' operation and the last step in the
orchestration
| >>is
| >>> > > linked to 'Send' operation of the port. When I compile the
project I
| >>> > receive
| >>> > > following error
| >>> > >
| >>> > > incomplete requestresponse operation; missing 'send'
| >>> > >
| >>> > > I made sure that both operations are linked to corresponding
actions
| >>> > shapes
| >>> > > with proper message settings. I have used normal new configured
port
| >>> > wizard
| >>> > > with binding set to 'Specify Later'
| >>> > >
| >>> > >
| >>> >
| >>> >
| >>>
| >>>
| >>
| >>
| >>
| |
| Anil Pogula 2004-05-24, 7:35 am |
| If you have the receive and send shapes in a 'scope' then BizTalk doesn't seem to like it. Put the starting receive and the ending send outside the scope and try. I'm not sure if this is some kind of bug.
|
|
|
|