BizTalk Server Orchestration - i managed to say helloworld! ;)

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server Orchestration > July 2005 > i managed to say helloworld! ;)





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author i managed to say helloworld! ;)
Manu

2005-06-29, 5:51 pm

hi,

following a week long struggle with biztalk involving a complete reinstall
of my pc, i managed to call a hello world WS in an orchestration published
as a WS

phew. talk about a steep learning curve.

the orch is simple : the inbound port receive a string which is forwarded to
the 'hello' WS, which responds 'hello <the string>', which is forwarded to
the outbound port of the orchestration.

if you have some time, i have some questions (forgive my english, i'm french
;)

1. deployment

each time i modify a transform / expression, i have to unenlist, redeploy,
rerun the WS publishing wizard and update the web reference in the C# client
project.
is this expected? i'd have thought if you don't touch the ports, rebuilding
would be enough, or at least redeploying only...
reminds me of mainframe more than .net

2. using expressions

as i'm compelled to use strict BPEL compatibility, i must use expressions
instead of transformations.
i understood the construct message shape made the equivalent of a new() on
the message, but i read you must instanciate the schema anyway...
sounds weird, since the schema should be instanciated and you should have
only to fill the parts? disturbing.

anyway i wrote this to create the outbound message (a string copied from the
WS response)

varXMLDom.LoadXml(@"<ns0:Response Comment=""dummy""
xmlns:ns0=""http://CompensationWS.Response""/>"); // why should i do this?
outBound = varXMLDom;
outBound.Comment = Inbound.Name; // this should suffice, but produces
"message not constructed" error if alone

This fails. (XML part not found or something in event viewer) Any comment?

3. the debuggeringme (hats down to the hat)

all i can say, is i hope the dev (can't imagine a team here) who did the hat
meet a nasty, painful, and slow doom. :P

but i tried tracing old style, in the expression editor as follows :

// System.Diagnostics.EventLog.WriteEntry("init...",""); // access denied
// System.Diagnostics.Debug.WriteLine ... // doesnt work (nothing shows)

any ideas? ;)

thanks a lot for help on these topics!

Emmanuel Issaly (e.issaly@_nospam_cosmosbay-vectis.com)


Sunghwa Jin [MSFT]

2005-06-29, 5:51 pm

Sorry for all troubles.

For redeployment, you can set Redeploy = True on your BizTalk project. Then
VS.NET will save your binding first and undeploy, deploy and bind them
again automatically. However you must understand that BizTalk service is
actually hosting a managed application domain. So the same rule in all
other .NET Framework application applies. You should restart BizTalk
service to pickup the updated assembly to the application domain. And it
will complain if there are any running instances for the orchestration. You
might want to kill them first.

For expression, I guess maybe inbound message was not consturcted yet??

For debugging, if you like tracing, you can use dbgmon or debugger view
from SysInternals to see the debug output from your orchestration.

http://www.sysinternals.com/Utilities/DebugView.html

Thansk,
Sunghwa


--------------------
| From: "Manu" <nospam@thanks.com>
| Newsgroups: microsoft.public.biztalk.orchestration
| Subject: i managed to say helloworld! ;)
| Date: Wed, 29 Jun 2005 16:56:53 +0200
| Organization: Cegetel
| Lines: 61
| Message-ID: <d9ucrm$l37$1@newsread2.cegetel.net>
| NNTP-Posting-Host: gw2.cosmosbay.com
| X-Trace: newsread2.cegetel.net 1120057014 21607 195.115.130.129 (29 Jun
2005 14:56:54 GMT)
| X-Complaints-To: usenet@newsread2.cegetel.net
| NNTP-Posting-Date: Wed, 29 Jun 2005 14:56:54 +0000 (UTC)
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.3790.1830
| X-RFC2646: Format=Flowed; Original
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.1830
| Path:
TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!newsfeed00.sul.t-online.de!t-onli
ne.de!tiscali!newsfeed1.ip.tiscali.net!proxad.net!proxad.net!cegetel!not-for
-mail
| Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.biztalk.orchestration:6747
| X-Tomcat-NG: microsoft.public.biztalk.orchestration
|
| hi,
|
| following a week long struggle with biztalk involving a complete
reinstall
| of my pc, i managed to call a hello world WS in an orchestration
published
| as a WS
|
| phew. talk about a steep learning curve.
|
| the orch is simple : the inbound port receive a string which is forwarded
to
| the 'hello' WS, which responds 'hello <the string>', which is forwarded
to
| the outbound port of the orchestration.
|
| if you have some time, i have some questions (forgive my english, i'm
french
| ;)
|
| 1. deployment
|
| each time i modify a transform / expression, i have to unenlist,
redeploy,
| rerun the WS publishing wizard and update the web reference in the C#
client
| project.
| is this expected? i'd have thought if you don't touch the ports,
rebuilding
| would be enough, or at least redeploying only...
| reminds me of mainframe more than .net
|
| 2. using expressions
|
| as i'm compelled to use strict BPEL compatibility, i must use expressions
| instead of transformations.
| i understood the construct message shape made the equivalent of a new()
on
| the message, but i read you must instanciate the schema anyway...
| sounds weird, since the schema should be instanciated and you should have
| only to fill the parts? disturbing.
|
| anyway i wrote this to create the outbound message (a string copied from
the
| WS response)
|
| varXMLDom.LoadXml(@"<ns0:Response Comment=""dummy""
| xmlns:ns0=""http://CompensationWS.Response""/>"); // why should i do this?
| outBound = varXMLDom;
| outBound.Comment = Inbound.Name; // this should suffice, but produces
| "message not constructed" error if alone
|
| This fails. (XML part not found or something in event viewer) Any comment?
|
| 3. the debuggeringme (hats down to the hat)
|
| all i can say, is i hope the dev (can't imagine a team here) who did the
hat
| meet a nasty, painful, and slow doom. :P
|
| but i tried tracing old style, in the expression editor as follows :
|
| // System.Diagnostics.EventLog.WriteEntry("init...",""); // access denied
| // System.Diagnostics.Debug.WriteLine ... // doesnt work (nothing shows)
|
| any ideas? ;)
|
| thanks a lot for help on these topics!
|
| Emmanuel Issaly (e.issaly@_nospam_cosmosbay-vectis.com)
|
|
|

Emmanuel Issaly

2005-06-30, 6:00 pm



"Sunghwa Jin [MSFT]" wrote:

> Sorry for all troubles.


np, thanks for the reply ;)

>
> For expression, I guess maybe inbound message was not consturcted yet??
>


that's exactly my problem. since i said to biztalk use construct message, i
specified the message and he has the schema, why isn't the message created
(empty)?
then an assignation like this should suffice :
outBound.Comment = Inbound.Name;

but if you need to construct the message, what is the good way to do it?
because the source below doesnt work

(varXMLDOM is a XmlDocument variable)

> | varXMLDom.LoadXml(@"<ns0:Response Comment=""dummy""
> | xmlns:ns0=""http://CompensationWS.Response""/>"); // why should i do this?
> | outBound = varXMLDom;
> | outBound.Comment = Inbound.Name;


Sunghwa Jin [MSFT]

2005-07-01, 5:54 pm

Unfortunately we do not automatically generate an instance for you. I
cannot tell the exact reason for you, but I can easily imagine that it is
hard to generate an instance that fulfill all different customers
requirement when the instance should be used in production. I'm not sure
you will actually have BPEL compatibility if you hand craft message in
expression shape though since I'm pretty sure different implementation of
BPEL would not accept those expressions.

And our implementation will not create new node when you access
"distinguished property". For example, if the node referenced by the XPATH
specified in distinguished property, you will end up having NULL exception
becuase the XPATH was expanded to null node.

So yes, you have to hand craft the message all.

If you want easier way for it, you can create a .NET serializable class
that was generated from the XSD (you can run xsd.exe) and use it to
initialize the message. This require you call a external component which is
again, as far as I know, not 100% BPEL compliant.

Thanks,
Sunghwa

--------------------
| Thread-Topic: i managed to say helloworld! ;)
| thread-index: AcV9eTfd8vaCpmvpQASwbROgMtEsQg==
| X-WBNR-Posting-Host: 62.23.185.226
| From: =?Utf-8?B?RW1tYW51ZWwgSXNzYWx5?= <Emmanuel
Issaly@discussions.microsoft.com>
| References: <d9ucrm$l37$1@newsread2.cegetel.net>
<tYKop2OfFHA.940@TK2MSFTNGXA01.phx.gbl>
| Subject: RE: i managed to say helloworld! ;)
| Date: Thu, 30 Jun 2005 06:40:03 -0700
| Lines: 28
| Message-ID: <D846753C-F228-43FB-810E-0DF53F7DB2AA@microsoft.com>
| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="Utf-8"
| Content-Transfer-Encoding: 7bit
| X-Newsreader: Microsoft CDO for Windows 2000
| Content-Class: urn:content-classes:message
| Importance: normal
| Priority: normal
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Newsgroups: microsoft.public.biztalk.orchestration
| NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.biztalk.orchestration:6775
| X-Tomcat-NG: microsoft.public.biztalk.orchestration
|
|
|
| "Sunghwa Jin [MSFT]" wrote:
|
| > Sorry for all troubles.
|
| np, thanks for the reply ;)
|
| >
| > For expression, I guess maybe inbound message was not consturcted yet??
| >
|
| that's exactly my problem. since i said to biztalk use construct message,
i
| specified the message and he has the schema, why isn't the message
created
| (empty)?
| then an assignation like this should suffice :
| outBound.Comment = Inbound.Name;
|
| but if you need to construct the message, what is the good way to do it?
| because the source below doesnt work
|
| (varXMLDOM is a XmlDocument variable)
|
| > | varXMLDom.LoadXml(@"<ns0:Response Comment=""dummy""
| > | xmlns:ns0=""http://CompensationWS.Response""/>"); // why should i do
this?
| > | outBound = varXMLDom;
| > | outBound.Comment = Inbound.Name;
|
|

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com