BizTalk-JSON Post WebService导致500内部服务器错误



我在BizTalk中有一个将数据发布到web服务的要求。这些数据需要是JSON格式的——一旦发布,我期待着以相同的格式返回,但在收到任何东西之前,我一直遇到相同的问题。我花了大约一天的时间试图弄清楚——我很确定这一定是我忽视的愚蠢的事情。

我已经使用Postman检查了端点,当我直接发布数据时没有问题。

我收到的错误如下:;

xlang/s引擎事件日志条目:未捕获异常(请参阅下面的"内部异常"(已挂起服务"Orchestrations.STANDARD_OUT_WEBSERVICE(a064e1ce-3aec-fa09-9ceb-76b4447793a2("的实例。服务实例将保持挂起状态,直到以管理方式恢复或终止为止。如果恢复,实例将从其上次持久化状态继续,并可能重新引发相同的意外异常。实例ID:3766050c-3a20-44e0-ae96-517ab9ce270形状名称:形状ID:从引发异常:段-1,进度-1内部异常:处理消息时出错,有关详细信息,请参阅详细信息部分消息ID:{ABD1094C-826C-42D6-8776-AE28044B9BBC}实例ID:{FC678BF5-BF84-4069-8385-00D0FD3547AE}错误描述:System.Net.WebException:(500(Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult结果(异常类型:XlangSoapException源:Microsoft.XLANGs.BizTalk.Engine目标站点:Void VerifyTransport(位于Microsoft.XLANGs.Core.SegmentScheduler.RunASegment的Microsoft.XLANGs.Core.PortBase.GetMessageId(订阅订阅,Segment currentSegment,Context cxt,Envelope&env,CachedObject位置(处的业务流程.STANDARD_OUT_WEBSERVICE.segment1(StopConditions stopOn(

消息的大致路径如下业务流程1进行一些翻译,然后以XML格式(使用XML传输(将消息发送到业务流程2。Orchestration 2接收XML格式(使用XML Receive(消息,并使用该消息构造新的JSON格式消息。

HeaderBuild = @"Content-Type:applicationjson" + "n" + "UserName:biztalk-service";
Endpoint = "https://www.example.com/update";
ScaleWebserviceULOut(Microsoft.XLANGs.BaseTypes.Address) = Endpoint;
ScaleWebserviceULOut(Microsoft.XLANGs.BaseTypes.TransportType) = "WCF-WebHttp";
InboundMessageWithHeaders = InboundMessage;
InboundMessageWithHeaders(WCF.Action) = Endpoint;
InboundMessageWithHeaders(WCF.SecurityMode) = "Transport";
InboundMessageWithHeaders(WCF.HttpMethodAndUrl) = "POST";
InboundMessageWithHeaders(WCF.HttpHeaders) = HeaderBuild;

然后,此消息被推送到一个动态发送-接收端口,该端口在请求上使用自定义JSON编码器管道,在响应上使用当前的XML接收(因为目前我还没有到这一点(。

消息路由到端口时没有问题,并且肯定正在转换为JSON。我在谷歌上搜索了很多,我不确定我做错了什么。有什么想法吗?

所以事实证明,我得到这个错误的原因是…

HeaderBuild = @"Content-Type:applicationjson" + "n" + "UserName:biztalk-service";

此的内容类型不正确-将其更改为正斜杠解决了问题。

application/json

谢谢傅把我指给小提琴手

最新更新