Symptoms
Consider the following scenario:
-
You use WCF-WebHTTP Two-Way Send to consume REST services in Microsoft BizTalk Server. In some cases, it responds with a message body and in other cases, it responds with an empty body (just the HTTP status code).
-
A JSON decoder pipeline component is used in the response pipeline.
-
Whenever the REST service responds with an empty body, the JSON decoder in the response pipeline fails and you may receive an error message that resembles the following:
There was a failure executing the response (receive) pipeline: "Customer.BizTalk.CDS.CustomerEventPublisher.Pipelines.Rcv_JSON_To_XML, Customer.BizTalk.CDS.CustomerEventPublisher.Pipelines, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxx" Source: "JSON decoder" Send Port: "xxxxxxxxxx" URI: "xxxxxxxxxxxx" Reason: Object reference not set to an instance of an object.
Resolution
This issue is fixed in the following cumulative updates for BizTalk Server:
Cumulative Update 2 for BizTalk Server 2016
Cumulative Update 6 for BizTalk Server 2013 R2
Note: A new setting with name AddMessageBodyForEmptyMessage is provided in JSON decoder pipeline component. Decoder will be able to process empty message if property AddMessageBodyForEmptyMessage is set to True.
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
References
For information about the service packs and cumulative update list for BizTalk Server, click the following article number to view the article in the Microsoft Knowledge Base:
2555976 Service pack and cumulative update list for BizTalk Server
For more information about BizTalk Server hotfixes, click the following article number to view the article in the Microsoft Knowledge Base:
2003907Information about BizTalk hotfixes and Service Pack support