1
votes

Background: I have exposed a Biztalk application as a rest endpoint.Promoted a property in the request schema.I have used this property in the Web Http Adapter-Variable Mapping.I want to use this in the Send Port Filter as well. Sample REST url- xxx.svc/getdetails/{bid}

Error:The published message could not be routed because no subscribers were found.

Issue: The message context contains the value of the Promoted property but the Type is Not promoted. Please help to resolve this issue.I have also tried setting the Property schema base type:MessageDataPropertyBase/PartContextPropertyBase.Screenshot

UPDATE I have used a Pass Through receive pipeline.Could that be an issue??

Double clicked on the Suspended Service Instance enter image description here Message Screenshot :enter image description here

4
I am not a Biztalk developer,so bear with me if this is something basic..I have googled but couldn't find a solution :(Rosebud
Have you configured XMLReceive Disassembler in the Receive Port?felixmondelo

4 Answers

2
votes

UPDATE I have used a Pass Through receive pipeline.Could that be an issue??

Yes. This is the issue.

Read this: https://docs.microsoft.com/en-us/biztalk/core/default-pipelines

Because it does not contain a disassembler, the pass-through receive pipeline cannot be used to route messages to orchestrations.

0
votes

What you've posted is the Routing Failure Report in which all Properties are un-Promoted by design. So, what you're seeing there is correct.

That BusinessPertnerId appears almost definitely means that it was correctly Promoted in the Pipeline as there is no way to merely Write a property without code.

So, the problem is probably on the subscribe side.

What you can do is add a Send Port that uses a wider Filter that will definitely match. Then leave it Stopped. You will then see a Suspended/Resumable message where you can see exactly what is Promoted and what the values are.

From there, you need to determine why it's not matching the subscriber you expect.

0
votes

Since you are using Pass through receive,so it will not promote your properties as it has no disassembler component.

0
votes

Try this:

  1. BusinessPertnerId should be a promoted property. Set property schema base to MessageDataPropertyBase in case then BusinessPertnerId is a part of message body. Set property schema base to MessageContextPropertyBase in case then BusinessPertnerId is a context-property only, and message doesn't contain it.
  2. Create a new correlation type in your orchestration (name it for example: promote_businessPertnerId_type), and add your BusinessPertnerId property to "Correlation Properties".
  3. Create a new correlation (for example : promote_businessPertnerId)
  4. Open properties of the "Send" shape and set "Initializing Correlation Set" to promote_businessPertnerId
  5. Now your SendPort should receive a message with BusinessPertnerId promoted in the message-context.