none
Update REST send Endpoint Parameters RRS feed

  • Question

  • BizTalk calls Rest endpoint for fetch the details, REST parameters are mapped in the send port.

    the source system some times are not send the value in the request but rest service is not required parameter with no value.

    I don't want the send the REST parameter for empty value , we can handle this in the custom behavior.

    Please share any other options .

     

    Friday, August 16, 2019 2:52 PM

Answers

  • If you can set the BTS.Operation property, in one of the following, to different values depending and what parameters you have, 

    1) The receive location 

    2) In an Orchestration on the Operation name

    3) In a custom component e.g. BRE Pipeline Component

    Then you can set which parameters to pass in the HTTP Method and URL Mapping on your send port, for example.

    <BtsHttpUrlMapping>         
       <Operation Name='GetOrderDetailsByOrderNo' Method = 'GET' Url='/details?orderNumber={orderNo}' />          
       <Operation Name='GetOrderDetailsByOrderId' Method = 'GET' Url='/details?orderId={orderId}' />          
    </BtsHttpUrlMapping>

    • Proposed as answer by Girish R. Patil Tuesday, August 20, 2019 9:39 AM
    • Marked as answer by Ramya_BTS Tuesday, August 20, 2019 8:12 PM
    Monday, August 19, 2019 8:53 PM

All replies

  • The other option would be to set the BTS.Operation on the message going to the send port with different values.

    This allows you to create different BtsHttpUrlMapping operations

    e.g.

    <BtsHttpUrlMapping>
              <Operation Name='GetOrderDetailsByOrderNo' Method = 'GET' Url='/details?orderNumber={orderNo}' />
              <Operation Name='GetOrderDetailsByOrderId' Method = 'GET' Url='/details?orderId={orderId}' />
    </BtsHttpUrlMapping>

    Sunday, August 18, 2019 10:03 PM
  • If the source system not sent the value in the request, Do you still need to call the rest endpoint without any parameter or you don't want to call the rest endpoint at all?



     

    • Edited by - Anand - Monday, August 19, 2019 4:21 AM
    Monday, August 19, 2019 4:17 AM
  • If you can set the BTS.Operation property, in one of the following, to different values depending and what parameters you have, 

    1) The receive location 

    2) In an Orchestration on the Operation name

    3) In a custom component e.g. BRE Pipeline Component

    Then you can set which parameters to pass in the HTTP Method and URL Mapping on your send port, for example.

    <BtsHttpUrlMapping>         
       <Operation Name='GetOrderDetailsByOrderNo' Method = 'GET' Url='/details?orderNumber={orderNo}' />          
       <Operation Name='GetOrderDetailsByOrderId' Method = 'GET' Url='/details?orderId={orderId}' />          
    </BtsHttpUrlMapping>

    • Proposed as answer by Girish R. Patil Tuesday, August 20, 2019 9:39 AM
    • Marked as answer by Ramya_BTS Tuesday, August 20, 2019 8:12 PM
    Monday, August 19, 2019 8:53 PM