Sunday, March 14, 2010

Sending Message from ESB Toolkit 2.0 to HTTP site

For all those who may be pulling their hair how to configure HTTP send adapter using ESB toolkit you can start off with WCF-Custom and configure following properties



  • Transport Name: WCF-Custom


  • Transport Location: URI of the HTTP site e.g. http://localhost/HTTPReceive/BTSHTTPReceive.dll?POST


  • Action: Can be a valid URI like http://HTTPPost/Post


  • EndPoint Configuration should have following settings
    - BindingConfiguration= < name="custombinding">< messageversion="None">< manualaddressing="false">< /binding >&BindingType=customBinding


BindingConfiguration gave me most pain (and few less hair), custombinding part is no brainer but httpTransport manualaddressing="false" is required to stop BizTalk from bombing out with 'Manual addressing is enabled' exception in the event log and textMessageEncoding is required to post just the XML message without the SOAP envelope inlcuding by the default setting of this . Got this tip from this posting by Adrian Lopez



Thursday, March 11, 2010

Mass Copy Functoid and Qualified Attributes

Running into an odd issue when I have attributes qualified by namespaces (form property set to Qualified for the attribute). Map in my project is straight copy of source to destination having exact same structures but different namespaces, I am using Mass Copy functiod on running the map test though source namespace is appearing in the output XML. Everything works fine if I replace the Mass Copy with individual field mapping. Now ain't that odd!??!

Wednesday, March 10, 2010

ESB Toolkit 2.0 and Exception Management

Ah the fun of exception management in ESB toolkit 2.0! Whatever you don't use only 'XML unsafe' characters in the name of your shapes. ESB Exception mechanism automatically promotes failure-specific and application-specific properties into the fault message context, setting the values from the current environment which among other things also include the service name and scope and if you happen to have XML unsafe character like , e.g, '&' in the name then good luck debugging the arcane exception happening on the CreateFaultMessage() method. I wasted good portion of my 'life' debugging it and don't wish that even upon my enemies.