locked
Promoted properties - Max length of 255 characters RRS feed

  • Question

  • So promoted properties in BizTalk have a maximum length of 255 characters. I want to use HTTP adapter and configure it dynamically from orchestration. However, the URL is longer than 255 characters. This is a huge limitation for us. What should I do in this case? I do not want to develop a custom adapter for this due to tight deadline. 
    Wednesday, July 31, 2013 7:24 PM

Answers

  • One simple workaround:

    The port address could be mapped to the BTS.ReceivePortName promoted properties. 

    If you have several receive locations on this port you just add the BTS.InboundTransportType to the filter expression. This combination of properties maps 1 to 1 to the port address hence to the URL.

    And BTW this gives you more generic filter. URL could be easily changed in future, not so these two properties.


    Leonid Ganeline [BizTalk MVP] BizTalk: the Naming Conventions in Examples

    Thursday, August 1, 2013 5:25 PM
    Moderator

All replies

  • May be you can take request-response port out and send messages over HttpWebRequest from a method in helper class.

    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful.

    Wednesday, July 31, 2013 8:36 PM
  • Promoted Properties are limited to 256 (maybe it is 255, doesn't really matter) characters.

    However, simple Context Properties have a substantially higher limit, well beyond 255.

    Do you really need to Promote the URL?

    Also, the HTTP Adapter is deprecated with BizTalk server 2010.  The WCF Adapter/bindings are the replacement.

    Wednesday, July 31, 2013 9:34 PM
    Moderator
  • WCF is fine, but URL needs to be dynamic because it of the dynamic parameters in URL. How do you exactly suggest to do this using context properties?
    Wednesday, July 31, 2013 10:17 PM
  • I don't think the Address property needs to be Promoted.  Although I've never really looked.

    Just be sure, you understand the meaning of Promoted in relation to Context Properties.  Promoted is a special type of Context Property that can be used for Routing.  Only Promoted Properties have the 256 limit.

    Set up your Dynamic WCF Port with the dynamic URL.  If you have problems, open another thread with the result and we can help you with that.

    Wednesday, July 31, 2013 11:39 PM
    Moderator
  • Use dynamic send port 

    WCF adapter

    Create a custom WCF behavior to change the URL you want to call.If you have info which  you can construct the URL ,then  in the behavior  read the values from the message and construct the URL.

    change the service url inside the custom behaviour .It may resolve your problem...

    ServiceURIChangeBehaviour:IEndPointBehaviour,IClientMessageInspector

    {

    public void ApplyClientBehaviour(ServiceEndPoint endPoint,ClientRuntime cRunTime)

    {

    URi curUrl=endpoint.Address.URi


    URi newUrl= new Uri("xxyyzz.....................................above 256 length  doesnt matter"))

    string newEndEPUri=serviceUrl.Scheme +uri.Schemdelimeter+newUrl.Host  

    endpoint.Address=new EndpointAddress()

    }

    }



    Srikanth Peddy. MCTS-BizTalk Server Please mark as answered .

    Thursday, August 1, 2013 10:08 AM
  • If you're able to promote it then it implies that the URI is available in the message or you're using some custom logic in the pipeline to retrieve it. If it is available in the message then instead of promoting it, use a distinguished field or use XPATH in your orchestration to get it during the dynamic port configuration. If you're using a custom logic in the pipeline component then convert that logic into a .Net Helper library and call it from the orchestration during the dynamic port assignment.

    Promoted Properties should be used for routing messages across multiple subscribers or for interpreted/computed data that might not be part of the message but affects message processing.

    Regards.


    • Edited by Shankycheil Thursday, August 1, 2013 2:31 PM spelling & syntax
    Thursday, August 1, 2013 2:29 PM
  • One simple workaround:

    The port address could be mapped to the BTS.ReceivePortName promoted properties. 

    If you have several receive locations on this port you just add the BTS.InboundTransportType to the filter expression. This combination of properties maps 1 to 1 to the port address hence to the URL.

    And BTW this gives you more generic filter. URL could be easily changed in future, not so these two properties.


    Leonid Ganeline [BizTalk MVP] BizTalk: the Naming Conventions in Examples

    Thursday, August 1, 2013 5:25 PM
    Moderator
  • Hi 

    What do you mean by simple context properties.

    Regards,

    Uday


    uday rega

    Friday, February 1, 2019 3:58 PM
  • This thread is very old.  If you have a specific question, you might be better off starting a new one.

    I mean non-Promoted Context Properties, that's it, as opposed to Promoted Properties.

    Friday, February 1, 2019 5:24 PM
    Moderator