vb的webservice客户端调用cxf的webservice客户端问题
1 vb的webservice客户端所发soap请求内容,如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<SOAP-ENV:Envelopexmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema"
xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAPSDK4:activitiesCreate xmlns:SOAPSDK4="http://service.xxx.cn/">
<SOAPSDK4:user>aaaaa</SOAPSDK4:user>
<SOAPSDK4:id>C307C7E1DAA25E26482578BF00226D36</SOAPSDK4:id>
<SOAPSDK4:content>aaaaaaa</SOAPSDK4:content>
<SOAPSDK4:type>OAActivities</SOAPSDK4:type>
</SOAPSDK4:activitiesCreate>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
------------------------------------------------------------------------------------
2 cxf的webservice客户端所发soap请求内容如下:
<soap:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:activitiesCreate xmlns:ns1="http://service.xxx.cn/">
<user>111</user>
<id>10001</id>
<content>11</content>
<type>WEBNews</type>
</ns1:activitiesCreate>
</soap:Body>
</soap:Envelope>
-------------------------------------------------------------------------------------
3 cxf客户端调用cxf服务端成功,vb客户端调用cxf服务区抛出如下异常:
2011-7-5 16:25:52 org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging警告: Interceptor for {http://service.apple4core.cpic.com.cn/}ActivitiesWebServiceEndPointService#{http://service.xxx.cn/}activitiesCreate has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Found element {http://service.xxx.cn/}user but could not find matching RPC/Literal part
at org.apache.cxf.binding.soap.interceptor.RPCInInterceptor.handleMessage(RPCInInterceptor.java:171)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:105)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:188)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
4 恳请各位大虾 踊跃发言啊
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
mallon 哥们 谢谢你的回答。
可能我没说明白,客户端vb是别人写的,我改不了。
如果客户端也我来写,费这么大劲干什么?
chenElton哥们 也谢谢你的回答。
对CXF不熟,看抛出是不是需要提供旧版本的RPC支持啊
这个真不会
你调用成功了? 我在质疑CXF支持VB调用么?
直接把cxf拿来 供vb调用肯定是不行,我通过抓包,分析……对cxf的代码动了些手脚,就可以了。呵呵,挺有成就感的。
是否可以分享您的代码? 现在遇到困难准备换webservice框架了。
整个项目代码给你不太可能,会有些别的问题,这点希望你理解。这是其一。第二,不知道你遇到了什么问题,把问题说出来,讨论下,没问题的。第三,换webservice框架是大事,因为可能涉及到老的系统和老的代码,这点要慎重。第四,详细的讨论,你发我邮件吧。
终于水落石出,对cxf的源代码做了些手脚,测试环境下通过,小庆一下。