1

上下文:BizTalk 2010 试图调用不返回响应的单向(即发即弃)PeopleSoft 服务。我已经验证 BizTalk 2010 不支持设计的单向服务。无法使用 BizTalk 2010 中的 WCF 适配器调用一种方式 Peoplesoft 服务

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 需要有一个 NON-NULL 响应才能调用服务。发回上述 HTTP 状态代码的 PeopleSoft 服务不被 BizTalk 视为确认。

那是对的吗?

谢谢。

4

3 回答 3

2

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

于 2011-01-20T20:47:05.490 回答
1

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

在此处查看详细信息。

于 2011-01-21T18:38:53.983 回答
0

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

于 2011-01-21T14:20:40.170 回答