连接超时不起作用 - jaxws

时间:2015-10-26 03:08:20

标签: spring web-services jax-ws

我正在尝试测试注入客户端的连接超时。

我可以调用客户端,但是超时不起作用。它默认采取超过1分钟。我的配置如下: -

春天背景: -

<bean id="myServiceClient" class="org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean">
    <property name="serviceInterface" value="au.com.my.service.employee.namespace.service"/>
    <property name="namespaceUri" value="http://service.my.client.namespace.au/"/>
    <property name="serviceName" value="MyWebService" />
    <property name="endpointAddress" value="http://mywsdl.com?wsdl" />
    <property name="wsdlDocumentUrl" value="http://mywsdl.com?wsdl" />
    <property name="lookupServiceOnStartup" value="false" />
    <property name="portName" value="myServicePort" />
   <property name="customProperties"  ref="jaxwsCustomProperties" />
</bean>

自定义属性:

<util:map id="jaxwsCustomProperties">
    <entry key="com.sun.xml.internal.ws.request.timeout">
        <value type="java.lang.Integer">1000</value>
    </entry>
    <entry key="com.sun.xml.internal.ws.connect.timeout">
        <value type="java.lang.Integer">1000</value>
    </entry>
    <entry key="com.sun.xml.ws.request.timeout">
        <value type="java.lang.Integer">1000</value>
    </entry>
    <entry key="com.sun.xml.ws.connect.timeout">
        <value type="java.lang.Integer">1000</value>
    </entry>
</util:map>

但是,虽然我称这项服务的时间超过1分钟。根据我的理解,它应该在1秒后抛出连接超时异常。

请帮助我,并告知是否有任何错过。

1 个答案:

答案 0 :(得分:0)

如果您期望读取超时异常,请尝试设置javax.xml.ws.client.receiveTimeout属性,这样就解决了我们的类似问题。

据我了解,connect.timeout用于客户端在抛出连接拒绝错误之前等待连接多长时间,套接字超时是客户端等待单个数据包的时间长度,请参阅 ConnectionTimeout versus SocketTimeout