1

我有这样的问题。我使用克隆将请求发送到不同的端点。但是如果一个端点超时。响应消息无法聚合。有人可以帮助我吗?非常感谢?错误信息:

[2012-08-14 09:44:08,077]  WARN - EndpointContext Endpoint : Endpoint_AAA_101000
 will be marked SUSPENDED as it failed
[2012-08-14 09:44:08,077]  WARN - EndpointContext Suspending endpoint : Endpoint
_AAA_101000 - current suspend duration is : 30000ms - Next retry after : Tue Aug
 14 09:44:38 CST 2012
[2012-08-14 09:45:07,593]  INFO - HTTPSender Unable to sendViaPost to url[http:/
/localhost:8280/services/CMSLevelService.CMSLevelServiceHttpSoap12Endpoint]
java.net.SocketTimeoutException: Read timed out

服务配置:

<proxy xmlns="http://ws.apache.org/ns/synapse" name="CMSLevelService" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
   <target>
      <inSequence>
            <clone sequential="false">
              <target endpoint="Endpoint_AAA_100000" />
              <target endpoint="Endpoint_AAA_101000" />
              <target endpoint="Endpoint_Portal_100000" />
              <target endpoint="Endpoint_Portal_101000" />
              <target endpoint="Endpoint_PortalMS" />
              <target endpoint="Endpoint_SME" />
              <target endpoint="Endpoint_USM" />
            </clone>
      </inSequence>
      <outSequence>
         <log level="full" />
         <aggregate>
            <completeCondition>
               <messageCount min="10" max="10" />
            </completeCondition>
            <onComplete xmlns:s12="http://www.w3.org/2003/05/soap-envelope" xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/" expression="//message">
                <log level="full" />
                <send />
            </onComplete>
         </aggregate>
      </outSequence>
   </target>
</proxy>
4

1 回答 1

0

您可以设置Completion Timeout为聚合。然后它将丢弃超时响应。此致。

于 2012-08-14T03:03:53.227 回答