【问题标题】:BizTalk 2010 calling one way(fire and forget) service and acknowledgementBizTalk 2010 调用一种方式(即发即弃)服务和确认
【发布时间】:2011-06-12 13:43:51
【问题描述】:

上下文: BizTalk 2010 试图调用不返回响应的单向(即发即弃)PeopleSoft 服务。我已经验证 BizTalk 2010 不支持设计上的单向服务。 Unable to call one way Peoplesoft service with WCF-Adapter from BizTalk 2010

PeopleSoft 团队向我展示了他们的异步服务返回以下 Http 状态和标头。

HTTP/1.1 200 OK
Date: Thu, 20 Jan 2011 15:31:37 GMT
Content-Length: 0
Content-Type: text/xml; charset=UTF-8
TransactionID: <some GUID>
X-Powered-By: Servlet/2.5 JSP/2.1

但是,当我查看从 BizTalk 2010 发布的 One Way WCF 服务返回的 xml 时,我看到了这个

HTTP/1.1 200 OK
Content-Length: 86
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/7.0
X-Powered-By: ASP.NET
Date: Thu, 20 Jan 2011 15:34:32 GMT

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body/></s:Envelope>

注意空的 SOAP 消息。

因此,BizTalk 2010 需要有一个非空响应才能调用服务。 发回上述 HTTP 状态代码的 PeopleSoft 服务不会被 BizTalk 视为确认。

对吗?

谢谢。

【问题讨论】:

    标签: wcf biztalk peoplesoft


    【解决方案1】:

    看起来 BizTalk 2010 确实需要有一个非空响应才能调用服务。 感谢 Ben 的确认。

    查看详情here

    【讨论】:

      【解决方案2】:

      您发送的信息的性质是什么?理论上,您可以发送单向 HTTP 消息并在单独的 HTTP 响应端口上关联。

      【讨论】:

        【解决方案3】:

        如果 Web 服务不返回响应,则需要返回 HTTP 204 - No Content。我还没有在 WCF 中尝试过,但是 HTTP 尊重无内容返回代码。至于 BizTalk WCF 服务……不知道为什么它不使用 204。但是由于它使用的是 200,所以它需要发送一些东西。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-11-21
          • 2011-06-09
          • 1970-01-01
          • 1970-01-01
          • 2020-08-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多