问题是这样的:我们系统使用cxf做webservice服务端,供其他平台调用。我们发布出去的地址是:
1 http://服务器IP/UA/TrustAuth?wsdl
这个地址我们自己测试的时候是正常的,但是对方系统调用时不通。。。。(可以保证双方网络是通的,ping/telnet/traceroute都能证明网络是联通的),异常堆栈是(这个是对方系统上面抓下来的调用日志):
01 PhaseIntercep I org.apache.cxf.phase.PhaseInterceptorChain doIntercept Interceptor has thrown exception, unwinding now
02 org.apache.cxf.binding.soap.SoapFault: "http://schemas.xmlsoap.org/wsdl/", the namespace on the "definitions" element, is not a valid SOAP version.
03 at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:95)
04 at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:57)
05 at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
06 at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:645)
07 at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2132)
08 at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2015)
09 at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1940)
10 at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
11 at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
12 at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
13 at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
14 at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:471)
15 at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:301)
16 at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:253)
17 at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
18 at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:121)
19 at $Proxy54.authRegReq(Unknown Source)
20 at com.ideal.uam.itfc.webservice.UamLoginAuthImpl.uamLoginProvinceAuth(UamLoginAuthImpl.java:44)
21 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
22 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
23 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
24 at java.lang.reflect.Method.invoke(Method.java:618)
25 at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:166)
26 at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:82)
27 at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:55)
28 at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:68)
29 at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:57)
30 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:432)
31 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:284)
32 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
33 at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
34 at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:95)
35 at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
36 at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
37 at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99)
38 at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:368)
39 at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:183)
40 at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:163)
41 at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:141)
42 at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
43 at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
44 at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)
45 at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:592)
46 at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:524)
47 at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
48 at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:751)
49 at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478)
50 at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:125)
51 at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
52 at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
53 at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:267)
54 at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
55 at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
56 at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
57 at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
58 at com.ibm.io.async.AsyncChannelFuture$1.run(AsyncChannelFuture.java:205)
59 at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)
后来偶然让对方系统调用时,把地址后面的"?wsdl"去掉就能大部分通了,就是调用这个地址:
1 http://服务器IP/UA/TrustAuth
摘自:http://www.oschina.net/question/115223_37755
the namespace on the "definitions" element, is not atorChain doIntercept Interce
猜你喜欢
转载自boyseegirl.iteye.com/blog/1788546
今日推荐
周排行