locked
How to promote whole message as context property ? RRS feed

  • Question

  • Hi ,

    I searched MSDN and I found limit for context property is 255 .
    I have a requirement to  assign whole message as a promoted field in Context property ? Is it possible or not ?
    If then how it can be possible ?

    Regards

    Rishi Gaur

    Tuesday, July 7, 2015 7:30 AM

Answers


  • Can you please advice me that Is it possible to store recieved message into context property ?

    Or by creating custom pipeline component by creating own context property and then storing message into that custom pipeline component.

    If yes then how it can be possible ?

    So that later I can use it

    Regards
    Rishi 

    Can you please advice me that Is it possible to store recieved message into context property ?

    No its not possible and not recommended as well .

    Or by creating custom pipeline component by creating own context property and then storing message into that custom pipeline component.

    No, BizTalk Pipeline component cannot hold any message .

    Now if required  we can talk about real solution what you want to implement .


    • Marked as answer by John(Daniel) Tuesday, July 7, 2015 10:41 AM
    Tuesday, July 7, 2015 10:30 AM

All replies

  • Why ?

    If the length restriction is 255 characters then for messages exceeding 255 it would not be possible. The question however is WHY? Is this again associated with you trying to cache messages before they get into SQL?

    I thought it would have been clear by now that what you're asking for is not possible. There is a caching available when BizTalk deals with LARGE messages but not high volume. To address high volumes either you enable host throttling or scale out by adding multiple servers (more host instances, NLB receive locations, etc.).

    Regards.

    Tuesday, July 7, 2015 7:43 AM
  • Hi,

    The size limit of Context Properties is 255, so probably you can not use them to store the full message. If your message size is lower than this value, probably you can store it in a string format, but it's not recommended so it's not the purpose of this kind of properties.

    If you need to store the full message, you should look for other options like a permanent or temporal storage (FILE, Database, etc...)

    Regards.


    When an answer is helpful, please vote as helpful, propose as answer and/or mark as answer

    Tuesday, July 7, 2015 7:47 AM
  • Again: Why?

    Please elaborate on your requirements. No matter how much I try to use my imagination, I cannot think of a situation where you would need the whole message in Context?

    Morten la Cour

    Tuesday, July 7, 2015 8:09 AM
  • Hi Morten la Cour ,

    Can you please advice me that Is it possible to store recieved message into context property ?

    Or by creating custom pipeline component by creating own context property and then storing message into that custom pipeline component.

    If yes then how it can be possible ?

    So that later I can use it

    Regards
    Rishi 

    Tuesday, July 7, 2015 9:08 AM
  • The general purpose of promoted properties is to use them for message routing. For example routing a message to a send port based on the messagetype. Routing a message based on the entire message content not only defeats the purpose but also isn't possible because of the 255 character limit (which is in place for performance reasons). I don't know what you want to achieve, but you should explore other scenarios.

    Tuesday, July 7, 2015 9:43 AM
  • Please explain a bit about why you want to do this.

    We are reluctant to explain how because this is most probably the wrong thing to do.

    If we know some more about you situation, we can give some better guidance.

    Tuesday, July 7, 2015 10:13 AM
    Moderator
  • Hi Rishi,

    My suggestion would leave context properties concept as of now and lets talk what your solution should do .

    Any solution require a flow process or architecture design and I don't think context properties anyhow can help you  in your solution were you want to archieve file or control the message flow   .

    Thanks

    Abhishek

    Tuesday, July 7, 2015 10:18 AM

  • Can you please advice me that Is it possible to store recieved message into context property ?

    Or by creating custom pipeline component by creating own context property and then storing message into that custom pipeline component.

    If yes then how it can be possible ?

    So that later I can use it

    Regards
    Rishi 

    Can you please advice me that Is it possible to store recieved message into context property ?

    No its not possible and not recommended as well .

    Or by creating custom pipeline component by creating own context property and then storing message into that custom pipeline component.

    No, BizTalk Pipeline component cannot hold any message .

    Now if required  we can talk about real solution what you want to implement .


    • Marked as answer by John(Daniel) Tuesday, July 7, 2015 10:41 AM
    Tuesday, July 7, 2015 10:30 AM
  • For clarity, the marked Answer is not entirely correct.

    What you're asking is technically possible, but is wrong enough that it's not really a valid consideration.

    Also, Pipeline Components can and do hold messages past their execution.  XmlDisassembler does this for perfectly legitimate reasons.

    These are the reasons we need to know exactly what you're trying to accomplish so we can recommend some better solutions.

    Tuesday, July 7, 2015 12:56 PM
    Moderator