consuming REST server methods using BizTalk Server using WCF-WebHttp adapter RRS feed

  • Question

  • I'm new to BizTalk. I'm using VS 2019 and BTS  2020. I need to implement a scenario in which BizTalk sits between the client and the REST server (implemented in APS.NET Core) and the client send request to BizTalk as he/she typically sends to REST server. The aim is to practice BizTalk WCF-WebHttp adapters (for both receive and send). My idea is to handle all the API requests and methods in a single receive location, send port, orchestration. How can I achieve it?

    Does this idea wrong? Should we individually create send ports/receive locations for every API method?

    Is there any relation between the operation name of logical port in orchestration and operation name in WCF-WebHttp adapter URL mapping (<Operation Name="SomeName" ... />)? (to one single orchestration and handle all methods)

    How to design the desired orchestration? (I have tried 'Decide' shape (adding rules like msg_input(BTS.Operation) == "SomeName") to separate different requests identified by URL mapping in the receive location and I was successful in this step, but is it the correct way either? However, I don't have any idea for designing shapes the way to correctly start orchestration. Also, I don't know ho to send requests from rule branches to send port within the orchestration)

    I would also appreciate to hear any other suggestions for solving this problem in a different perspective.

    Monday, September 14, 2020 3:18 PM

All replies

  • Having a single receive location is fine.

    The inbound URLs get mapped to the BTS.Operation context property in the message for inbound.   No, your operation in the Orchestration doesn't need to match, it does if you are going the other direction, from the Orchestration to a send port and you want to map the Operation

    Yes, using a decide shape with the BTS.Operation is a good.

    You just need to have a send shape, and connect it to a logical port shape in the Orchestration.
    Monday, September 14, 2020 9:36 PM