I have the following situation: In a simple orchestration with two
request-response ports, I receive the message on the first port and send it
to the second port. The response I receive from the second port I send back
to the first port.
I want to implement that if sending the message to the second port fails the
orchestration gets suspended and can be resumed manually in the
administration console. I added a scope shape with exception handler
(includes the suspend shape) around the send and receive shapes for the
second port. Around the scope I added a loop which checks a flag called
"sent". The sent flag is initialized with false and set to true in an
assignment shape after receiving the response from the second port in the
scope.
The problem is that I get the compilation error "use of unconstructed
message" for the send shape which sends back the response to the first port.
I know that this compilation error is shown because it is not sure that the
response message can be received from the second port because an exception
handler is defined for this scope. But in my case it is sure that this
message is received because I have the loop around the scope.
Any ideas how to solve this problem?
Thanks in advance
Samuel
This way, the message appears constructed to the compiler.
--
Richard Seroter
http://seroter.wordpress.com
Thanks for your quick reply. When I assign the message with
"ResponseMessage.Part = null;" outside of the loop in a construct shape I
always got the error "The part 'part' of message 'Response' contained a null
value at the end of the construct block." (my response message is
multipart). I tried to assign an instance of XmlDocument and tried also the
"nll assignment" with a non multipart message but without success.
The solution which works for me is to generate a message in a construct
shape outside of the loop which has a dummy transform shape (map without
links) to create the message... I think I still do something wrong if I can
get the null assignment to work I can save a transformation, so maybe you
can give me some more hints on this topic?
I remember that I read that a BizTalk message can be assigned only once, so
why is it possible to generate this message outside of the loop and reassign
it in the receive shape?
Thanks in advance
Regards
Samuel