在mule中为Web服务使用者设置SO_TIMEOUT

时间:2016-08-03 14:09:30

标签: mule socket-timeout-exception

我们正在使用网络服务消费者来点击第三方托管的服务。 在点击服务时,SocketTimeOutException会在16分钟后发生。

我们的网络服务消费者配置如下所示。

<ws:consumer-config name="config_name"
    wsdlLocation="${wsdlLocation}"
    service="Service_name" port="service_portType"
    serviceAddress="${serviceAddress}"
    doc:name="Web Service Consumer" />

    <ws:consumer config-ref="config_name" operation="test_operation"
        doc:name="do_it" />

我们在配置文件的顶部设置了默认响应超时。

      <configuration defaultResponseTimeout="1000000" doc:name="Configuration" />

现在,当我们向第三方询问超时时,他们要求我们将服务器的SO_TIMEOUT设置为0。

我知道我们可以为https:连接器设置属性'serverSoTimeout =“0”'。 我的问题是我们如何为Webservice使用者设置它?

1 个答案:

答案 0 :(得分:0)

可以通过向webservice端点添加参数来设置,如下所示: http://hostname:port/restoftheendpoint?responseTimeout=120000 要么 这可以在附加到wsconsumer配置的http侦听器全局配置上进行设置,如下所示:

<ws:consumer-config name="test"         wsdlLocation="test.wsdl" service="test" port="testSoap"         serviceAddress="${test.endpoint}" doc:name="Web Service Consumer"       connectorConfig="HTTP_Request_Config" />
    <http:request-config name="HTTP_Request_Config" host="test" port="2000" responseTimeout="30000" doc:name="HTTP Request Configuration">

    </http:request-config>