简体   繁体   English

Biztalk Web服务端口以及端口/应用程序停止时会发生什么

[英]Biztalk web service ports and what happens when the port/application is stopped

I have a question around biztalk and what happens when certain conditions around web service ports are met. 我有一个关于biztalk的问题,当满足Web服务端口的某些条件时会发生什么。

basically we have two applications - a main application (lets call it 'MainApplication') (containing the orchestration) and a web service application (lets call it 'MainApplicationWS'), where we expose a web service (created from biztalks web service tool) to take messages from wherever. 基本上,我们有两个应用程序-一个主应用程序(让我们将其称为“ MainApplication”)(包含业务流程)和一个Web服务应用程序(让我们将其称为“ MainApplicationWS”),其中我们公开了一个Web服务(由biztalks Web服务工具创建)从任何地方接收消息。

we have a testing tool which replays messages to the MainApplicationWS to simulate messages coming through from various external systems. 我们有一个测试工具,可以将消息重播到MainApplicationWS,以模拟来自各种外部系统的消息。

I have noticed that if we partial stop the MainApplicationWS application, and send messages through to the web service listed as a recieve location, nothing happens (obviously!) (also, the web service is still running, even though its been delisted as a recieve location). 我注意到,如果我们部分停止MainApplicationWS应用程序,然后将消息发送到作为接收位置列出的Web服务,则不会发生任何事情(显然!)(此外,即使该Web服务仍被取消列出为接收者,它仍在运行位置)。 however, if i start up the MainApplicationWS again and bounce the host instances the messages are picked up from somewhere and played through to the orchestration and through to our application. 但是,如果我再次启动MainApplicationWS并启动主机实例,则会从某处拾取消息并播放直到业务流程再到我们的应用程序。

Im just a bit puzzled as to where its storing these messages while the MainApplicationWS is partially stopped. 我对MainApplicationWS处于部分停止状态时将这些消息存储在何处感到有些困惑。 is the web service somehow hanging on to these? Web服务是否以某种方式挂在这些上? or does it still post through to the biztalk message box? 还是仍然张贴到biztalk消息框中?

any clarification would be greatly appreciated :) 任何澄清将不胜感激:)

cheers, adam 干杯,亚当

In short, I can't repeat your behaviour in Biztalk 2009. The closest to 'queueing' messages is if the orchestration is stopped but remains enlisted, such that messages are suspended resumable. 简而言之,我无法在Biztalk 2009中重复您的行为。最接近“排队”消息的是业务流程已停止但仍处于征募状态,以使消息可恢复挂起。

In long - I'm not quite sure what you mean by 'delisted as a receive location'. 长期而言-我不太确定“被列为接收地点”的含义。 In Biztalk 2009: 在Biztalk 2009中:

  • Receive Locations can be enabled or disabled 可以启用或禁用接收位置
  • Orchestrations can be stopped, and unenlisted 编排可以停止,也可以不参加
  • A Partial Stop on your BTS application disables receive ports and stops orchestrations (but doesn't unenlist them) BTS应用程序上的“部分停止”功能会禁用接收端口并停止编排(但不会取消注册)
  • A full stop stops and unenlists orchestrations 句号停止并取消编排

The below is observed behaviour on BizTalk 2009 for a simple orchestration with a WCF Request/Response port, which receives a message, Maps the Send back to the same Port The port is Direct Bound (MessageBox). 下面是在BizTalk 2009上观察到的行为,该行为是针对带有WCF请求/响应端口的简单业务流程的,该端口接收消息,将“发送回”映射到同一端口。该端口为直接绑定(MessageBox)。

If the Isolated Host App Pool is disabled in IIS 如果在IIS中禁用了隔离主机应用程序池

A synchronous error is returned to the client - Standard IIS Error (503 Service Unavailable etc) BizTalk receives no messages at all 同步错误返回到客户端-标准IIS错误(503服务不可用等)BizTalk完全不接收任何消息

If the BizTalk receive Location is disabled 如果BizTalk接收位置被禁用

  • WSDL: Syncrhonous error returned to the client - The Messaging Engine failed to register the adapter for "WCF-BasicHttp" for the receive location "xyz.svc". WSDL:向客户端返回了Syncrhonous错误-消息引擎未能为接收位置“ xyz.svc”注册“ WCF-BasicHttp”的适配器。 Please verify that the receive location exists, and that the isolated adapter runs under an account that has access to the BizTalk databases 请验证接收位置是否存在,并且隔离的适配器是否在有权访问BizTalk数据库的帐户下运行
  • Service Call : The requested service, xyz.svc could not be activated. 服务呼叫:无法激活所请求的服务xyz.svc。 See the server's diagnostic trace logs for more information. 请参阅服务器的诊断跟踪日志以获取更多信息。

If the Orchestration is stopped, but not unenlisted 如果业务流程已停止但未取消入伍

The received message is Suspended, resumable. 接收到的消息是已暂停,可恢复的。 The client times out (no response is issued). 客户端超时(未发出响应)。 If the orch is started and the message resumed, the message is then processed. 如果启动管弦乐队并恢复了消息,则将处理该消息。 The client will only get a successful reply if the orch start and the suspended message resume are done before the client's configured WS / WCF timeout. 如果在客户端配置的WS / WCF超时之前完成了Orch启动和挂起的消息恢复,则客户端将仅获得成功的答复。

If the Orchestration is unenlisted 如果编排未参加

The received message is Suspended, not resumable. 收到的消息是“已暂停”,不可恢复。 The client receives an error - The server was unable to process the request due to an internal error. 客户端收到错误-服务器由于内部错误而无法处理请求。

With the WCF CustomBinding it is also possible to listen directly on the relevant BizTalk ReceiveHost (ie no need for IIS at all to listen to BasicHTTP or WSHTTP, although we generally still use the Wizard generated svc in IIS solely for the hosting and publication of the WSDL. We then create a new WCF Custom receive location directly in BizTalk and point the client to this) 使用WCF CustomBinding,也可以直接在相关的BizTalk ReceiveHost上进行侦听(即,完全不需要IIS来侦听BasicHTTP或WSHTTP,尽管我们通常仍将IIS中向导生成的svc仅用于托管和发布IIS。 WSDL。然后我们直接在BizTalk中创建一个新的WCF自定义接收位置,并将客户端指向此位置)

Hope this helps? 希望这可以帮助?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在Biztalk中使用Java Web服务 - Consume java web service in Biztalk Web服务上的专有字段(BizTalk) - Distinguished field on a web service (BizTalk) 当我使用PHP :: SOAP调用Web服务方法时到底发生了什么? - What exactly happens when I call a web service method using PHP::SOAP? 宁静的Web服务-对集合运行DELETE请求时会发生什么? - Restful Web Service - What happens when I run a DELETE request on a collection? 移动Web服务时,所有硬编码的URI会如何处理? - What happens to all the hard-coded URIs when I move a Web Service? 当用户关闭其浏览器等待长时间运行的Web服务调用时会发生什么? - What happens when a user closes their browser waiting for a long running web service call? IIS 6.0上的asp.net Web应用程序(asmx ws)空闲数小时左右会发生什么? - what happens to asp.net web application (asmx ws) on IIS 6.0 when it's idle for hours or so? 调用Web服务的Android代码给出“应用程序意外停止”错误 - Android code for calling web service giving “application stopped unexpectedly” error C#Web服务 - 返回然后最后 - 首先发生什么 - C# Web Service - Return then Finally - What happens first Biztalk和调用Web服务的最佳方式 - Biztalk and the best way to call web service
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM