我必须调用经常无法响应的第三方Web服务。我试图超时我的请求,但是,超时似乎没有任何区别。你能分享一下我的错误吗?
示例代码
ws = createObject("webservice", "http://domain.com/webservice?wsdl",{timeout=25});
线程堆栈跟踪
这是等待Web服务的请求将等待响应的地方。使用Fusion Reactor无法杀死线程。
java.net.SocketInputStream.socketRead0(SocketInputStream.java:???)[Native Method]
java.net.SocketInputStream.read(SocketInputStream.java:129)
java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
java.io.BufferedInputStream.read(BufferedInputStream.java:237)
org.apache.axis.transport.http.HTTPSender.readHeadersFromSocket(HTTPSender.java:581)
org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:142)
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
org.apache.axis.client.Call.invokeEngine(Call.java:2765)
org.apache.axis.client.Call.invoke(Call.java:2748)
org.apache.axis.client.Call.invoke(Call.java:2424)
org.apache.axis.client.Call.invoke(Call.java:2347)
org.apache.axis.client.Call.invoke(Call.java:1804)
membership.MembershipappfacadeCfcSoapBindingStub.getUserData(MembershipappfacadeCfcSoapBindingStub.java:1189)
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:???)[Native Method]
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
coldfusion.xml.rpc.ServiceProxy.invokeImpl(ServiceProxy.java:225)
coldfusion.xml.rpc.ServiceProxy.invoke(ServiceProxy.java:145)
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2301)
cfMemberGateway2ecfc1748494758$funcPOPULATEFEUSERFROMCOOKIES.runFunction(C:\inetpub\platform\models\gateway\MemberGateway.cfc:208)
感谢。
答案 0 :(得分:1)
您是否尝试过在使用webservice之前使用cfsetting requesttimeout =“25”?此外,如果您使用带有超时属性的标记库cfinvoke,它应该适合您。