Similar to this question, I need to send back JSON. WCF ResponseFormat For WebGet
But I'm working from within a WCF Behavior being called by a BizTalk 2010 SendPort Adapter.
I'm inside this method:
public object BeforeSendRequest(ref Message request, IClientChannel channel)
So I have the Message and the channel that I can manipulate.
I think the direction is something like this:
1) //WebOperationContext.Current.OutgoingResponse.ContentType = “text/plain”;
or
2) OperationContext.Current.... something - but I don't know the object model well.
I'm currently using the MemoryStream:
byte[] byteArrayJSON = Encoding.UTF8.GetBytes(strJSON);
MemoryStream memStreamJSON = new MemoryStream(byteArrayJSON);
//WebOperationContext.Current.OutgoingResponse.ContentType = “text/plain”;
Message newMessage = Message.CreateMessage(MessageVersion.None, "", memStreamJSON);
...
request = newMessage; // substitute my new message for the original one.
My headers have this:
Content-Type: application/json
Accept: application/json