Amit's profileAll about BizTalk Server...PhotosBlogLists Tools Help

Blog


    March 06

    Taking collaboration to a new level using

    • Live Work Space

    http://workspace.officelive.com

    • Microsoft SharedView

    http://connect.microsoft.com/site/sitehome.aspx?SiteID=94

    • SkyDrive

    http://skydrive.live.com/welcomemoreinfo.aspx

    • Microsoft Online Services

    http://www.microsoft.com/online/learn.mspx

    • Folder Share through Windows Live Messenger
    • Microsoft Live Events etc..

    Great going ...

    March 03

    WS-Addressing support in BizTalk 2006 R2

    WS Addressing enables the use of various other headers in the SOAP envelope apart from the headers, which exists when you are using WS-I Basic profile.

    Some extra elements which exists when you use WS-Addressing are

    MessageID, RelatesTo, To, Action, From, ReplyTo, FaultTo

    All these extra headers can be used to do asynchronous Interactions.

    For ex.

    WS-Addressing

     

    We will see how to implement asynchronous message exchange pattern using WS- Addressing

    ASync Pattern

    Use of WCF Adapter support calling of Web Services without using proxy. You have to set some extra properties when using Dynamic Send ports.

    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

    MssgToSend(WCF.Action) = “SOAP Action”

    MssgToSend(WCF.SecurityMode) = "None"; 

    MssgToSend(WCF.TransportClientCredentialType) = "Windows";

    MssgToSend(WCF.EstablishSecurityContext) = System.Boolean.Parse("true");

    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

    //Asign Port Properties

    DynamicSendPortSync(Microsoft.XLANGs.BaseTypes.Address)=  “End Point Uri”

    DynamicSendPortSync(Microsoft.XLANGs.BaseTypes.TransportType)="WCF-BasicHttp";

    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

    There is one more workaround, which you have to do, by default the FaultTo property is not promoted, so you cannot access it within the Orchestration. To use it you have to write custom pipeline component in which you can promote it.

    Use of ReplyTo

    ReplyTo can be used for asynchronous messaging

    Use of MessageId, Relates To

    These can be used to correlate the response with the request message. So while sending the Request to Service we have to initiate a correlation using “MessagID” and while receiving the response, we have to promote the “Relates To” so that proper correlation can happen. However, correlation in BizTalk can be done in various other ways too.

    Difficulties in implementing asynchronous message pattern using WS-Addressing in BizTalk

    1.       By default “FaultTo” is not promoted and so you cannot access it with in Orchestration, you have to do the promotion using custom pipeline component.

    2.       Correlation using MessageID and RelatesTo has to be taken care by the developer not the infrastructure.

    3.       The Response message which the service sends does not show in the wsdl of the Service. But you can have the Schema of the message shown using

                   <extensions><behaviorExtensions></behaviorExtensions></extensions> in the App.config files.

                   See ESB Guidance for more …     http://codeplex.com/esb

    4.       There are some other headers which are of concern like EndPoint Reference see here for more http://www.w3.org/Submission/ws-addressing/#_Toc77464319