BizTalk Server Orchestration - Send SOAP without adding a webreference?

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server Orchestration > December 2004 > Send SOAP without adding a webreference?





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 Send SOAP without adding a webreference?
Silly_King

2004-12-21, 5:51 pm

Is there a good way to send a SOAP message to a web service (from an
orchestration) without adding that web service as a reference to the BizTalk
project?

thank you!
Ben Cuttriss

2004-12-21, 5:51 pm

One way is to call a .net assembly which handles the sending of the web
service (I presume it is web services related). To send a SOAP message is
very problematic directly without adding the web service as a reference since
there is a lot of work that is performed behind the scenes for you.

HTH
Ben

"Silly_King" wrote:

> Is there a good way to send a SOAP message to a web service (from an
> orchestration) without adding that web service as a reference to the BizTalk
> project?
>
> thank you!

Silly_King

2004-12-21, 5:51 pm

Right. I was thinking more of using the HTTP adapter and handling the SOAP
wrapper myself. All i'd realy need to do is 1) Add SOAPAction header to the
HTTP header collection 2) wrap the body of the XML message in
<soap:envelope/> and 3) POST to the WS URL supplied by the other party. How
could i accomplish that? via a custom pipeline?

"Ben Cuttriss" wrote:
[vbcol=seagreen]
> One way is to call a .net assembly which handles the sending of the web
> service (I presume it is web services related). To send a SOAP message is
> very problematic directly without adding the web service as a reference since
> there is a lot of work that is performed behind the scenes for you.
>
> HTH
> Ben
>
> "Silly_King" wrote:
>
Jon Flanders

2004-12-21, 5:51 pm

You can just create a normal solicit-response send port in your
orchestration and use the HTTP adapter to send a post message. The only
thing you must do (assuming the webservice you are calling requires a soap
action header) is to send the SOAPAction header. Adding the SOAPAction
header must be done in a custom send pipeline object.

You can construct a soap:Envelope message. The soap schema is included in
the GlobalPropertySchemas assembly.


Jon Flanders
http://staff.develop.com/jfland/

"Silly_King" <SillyKing@discussions.microsoft.com> wrote in message
news:A08389C1-2038-4517-AD37-DBBCFB947439@microsoft.com...
> Right. I was thinking more of using the HTTP adapter and handling the SOAP
> wrapper myself. All i'd realy need to do is 1) Add SOAPAction header to

the
> HTTP header collection 2) wrap the body of the XML message in
> <soap:envelope/> and 3) POST to the WS URL supplied by the other party.

How[vbcol=seagreen]
> could i accomplish that? via a custom pipeline?
>
> "Ben Cuttriss" wrote:
>
is[vbcol=seagreen]
since[vbcol=seagreen]
BizTalk[vbcol=seagreen]


Silly_King

2004-12-21, 5:51 pm

Do you have any examples on how a custom send pipeline can add a custom HTTP
header to an outgoing message?

thank you!


"Jon Flanders" wrote:

> You can just create a normal solicit-response send port in your
> orchestration and use the HTTP adapter to send a post message. The only
> thing you must do (assuming the webservice you are calling requires a soap
> action header) is to send the SOAPAction header. Adding the SOAPAction
> header must be done in a custom send pipeline object.
>
> You can construct a soap:Envelope message. The soap schema is included in
> the GlobalPropertySchemas assembly.
>
>
> Jon Flanders
> http://staff.develop.com/jfland/
>
> "Silly_King" <SillyKing@discussions.microsoft.com> wrote in message
> news:A08389C1-2038-4517-AD37-DBBCFB947439@microsoft.com...
> the
> How
> is
> since
> BizTalk
>
>
>

Jon Flanders

2004-12-21, 5:51 pm

This is what the custom object (probably want to place it at the
pre-assemble stage) Execute method would look like.

public IBaseMessage Execute(IPipelineContext pContext, IBaseMessage pInMsg)

{

pInMsg.Context.Write("SOAPAction",
"http://schemas.microsoft.com/BizTalk/2003/system-properties","http://mysoap
action");

return pInMsg;

}



If you need a full sample ping me directly via email



Jon Flanders

http://staff.develop.com/jfland/

"Silly_King" <SillyKing@discussions.microsoft.com> wrote in message
news:4A4A51A3-5B0D-47BD-AEA1-83EE189458E9@microsoft.com...
> Do you have any examples on how a custom send pipeline can add a custom

HTTP[vbcol=seagreen]
> header to an outgoing message?
>
> thank you!
>
>
> "Jon Flanders" wrote:
>
soap[vbcol=seagreen]
in[vbcol=seagreen]
SOAP[vbcol=seagreen]
to[vbcol=seagreen]
party.[vbcol=seagreen]
web[vbcol=seagreen]
age[vbcol=seagreen]
reference[vbcol=seagreen]
an[vbcol=seagreen]
the[vbcol=seagreen]


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com