vb的webservice客户端调用cxf的webservice客户端问题

foxbrother 发布于 2011/07/05 20:19
阅读 2K+
收藏 0

1 vb的webservice客户端所发soap请求内容,如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<SOAP-ENV:Envelope
xmlns: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:Envelope
 xmlns: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  恳请各位大虾 踊跃发言啊

加载中
0
foxbrother
foxbrother
终于水落石出,对cxf的源代码做了些手脚,测试环境下通过,小庆一下。
foxbrother
foxbrother
@周桥飞 : 整个项目代码给你不太可能,会有些别的问题,这点希望你理解。这是其一。第二,不知道你遇到了什么问题,把问题说出来,讨论下,没问题的。第三,换webservice框架是大事,因为可能涉及到老的系统和老的代码,这点要慎重。第四,详细的讨论,你发我邮件吧。
周桥飞
@武金鑫 : 是否可以分享您的代码? 现在遇到困难准备换webservice框架了。
foxbrother
foxbrother
@周桥飞 : 直接把cxf拿来 供vb调用肯定是不行,我通过抓包,分析……对cxf的代码动了些手脚,就可以了。呵呵,挺有成就感的。
周桥飞
你调用成功了? 我在质疑CXF支持VB调用么?
0
foxbrother
foxbrother
红薯老大  一定要发言啊
红薯
红薯
这个真不会
0
mallon
mallon
请求直接拼XML,响应直接用正则表达式解析,看SOAP就烦
0
C
ChenElton
对CXF不熟,看抛出是不是需要提供旧版本的RPC支持啊
0
foxbrother
foxbrother

mallon 哥们 谢谢你的回答。

可能我没说明白,客户端vb是别人写的,我改不了。

如果客户端也我来写,费这么大劲干什么?

chenElton哥们 也谢谢你的回答。

返回顶部
顶部