我正在尝试测试注入客户端的连接超时。
我可以调用客户端,但是超时不起作用。它默认采取超过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秒后抛出连接超时异常。
请帮助我,并告知是否有任何错过。
答案 0 :(得分:0)
如果您期望读取超时异常,请尝试设置javax.xml.ws.client.receiveTimeout
属性,这样就解决了我们的类似问题。
据我了解,connect.timeout用于客户端在抛出连接拒绝错误之前等待连接多长时间,套接字超时是客户端等待单个数据包的时间长度,请参阅 ConnectionTimeout versus SocketTimeout