Service Virtualization

 View Only
  • 1.  How to assingn a Manual value to IBM MQ CorrelationID

    Posted Jun 13, 2016 07:30 AM


    I created an virtual service using new IBM MQ Native Step. when I was trying to assing manual value to correlationID its taking default value rather than an actual value.

    ManualValue.PNG

    Result in message browser:

    MessageBrowser.PNG

     

    Same thing is working in deprecated step. with extended message properties in publish step.

    Is there any bug associtated with this behaviour - I am using 8.1 version.

    Deprecated step.PNG

     

    Let me how to achive this in new version IBM MQ Native Step.



  • 2.  Re: How to assingn a Manual value to IBM MQ CorrelationID

    Posted Jun 13, 2016 01:21 PM

    In the screenshots it looks like you're trying to use the Correlation ID correlation scheme.  That's for copying a request's correlation ID to the response, not entering a manual correlation ID on the response.  It doesn't work that way.

     

    The new IBM MQ Native is more like other VSE protocols in that it builds the response entirely from the VSI.  If you need the response to contain a custom correlation ID then you will need to enter it in the VSI meta-data, under the 'msg.correlationid' property.  And you will need to disable the correlation scheme in the Respond step so it doesn't get overwritten.

     

    I believe you can use '{{...}}' in the VSI meta-data, but it might depend on exactly where the {{pdfDocumentName}} property come from.



  • 3.  Re: How to assingn a Manual value to IBM MQ CorrelationID

    Posted Jun 14, 2016 06:49 AM

    Hi Kevin,

     

    Thanks for your reply, while sending an dynamic correlationid from vsi meta-data under msg.correlationid property.

    we are getting following error:

     

    mapping.PNG

    Note: here i tried to assign pdfdoc name to correlationid

     

    Value was not hex:{{=request_envelopeDetails_pensionPDL_pdfDocumentName}}

    WARN  - LisaException detail Missing payload exception is n/a

    WARN  - LisaException detail Missing payload exception is

    ============================================================================

    | Exception:

    ============================================================================

    | Message:     Missing payload

    ----------------------------------------------------------------------------

    ============================================================================

     

    Do we need to convert the incoming string into hex value ?

     

    in previous version 7.5 its working as expected, As we supplying this value as extended message properties from VSM.



  • 4.  Re: How to assingn a Manual value to IBM MQ CorrelationID
    Best Answer

    Posted Jun 14, 2016 06:24 PM

    Hmm.  Not only does the value have to be in Hex, but it looks like we don't actually support putting a {{...}} expression in for the 'msg.correlationid' meta-data property.  Most of the other ones will work, but not msg.correlationid, msg.messageid, and a few others that actually map to binary-valued fields in the MQ message itself.

     

    If you want to contact support then I have a patch waiting for you.  Mention our internal case number DE175065 and the version of DevTest you're using and they should be able to hook you up.

     

    With this patch you still have to Hex encode the value, but you can do it inline in the VSI meta-data property, like this:

    {{=com.itko.util.BinaryUtil.toHex(testExec.getStateObject("request_envelopeDetails_pensionPDL_pdfDocumentName").getBytes("ASCII"));}}



  • 5.  Re: How to assingn a Manual value to IBM MQ CorrelationID

    Posted Jun 15, 2016 06:46 AM

    Thanks for your inputs, I requested support for the patch, will test and let you know.



  • 6.  Re: How to assingn a Manual value to IBM MQ CorrelationID

    Posted Jan 18, 2017 02:01 PM

    Ravi,

     

    Did you get the patch from support? If so, did it resolve your issue?