由于本人比较菜先从简单的写起
这次做的功能是JAVA调用C#提供的webservice
接口,将大概的开发方法和遇到的问题总结一下:
1、C#提供的webservice服务地址一般为http://XXXX.com/Web
Service.asmx
要获得wsdl文件只需要在服务地址后面加?wsdl即可:如
http://XXXX.com/WebService
.asmx?wsdl
2、有了wsdl文件以后我们就可以开发webservice客户端了,具体步骤参见附件(从百度文库里下载的,适用于
服务端和客户端分开的情况)
3、参照文档开发完成后报了一个
错误如下:
Exception in 
thread "main" javax.xml.ws.soap.SOAPFaultException: Could not find conduit initiator for transport http://schemas.xmlsoap.org/soap/http
从网上大概搜到三种可能解决的方法:
1)cxf jar包冲突
2)spring文件中缺少
<import resource="
classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
引入
3)jaxws:client的address书写错误
但是这些都没有解决我的问题
注意:其中2)的那三个引入在webservice客户端是不需要的,最好不要引入。
我代码里的问题最后
发现是缺少cxf-rt-transports-http.jar导致的。。
maven依赖为:
         <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>${cxf.version}</version>
             <exclusions>
                <exclusion>
		            <groupId>org.springframework</groupId>
		            <artifactId>spring-web</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
我们这个项目引入的cxf
版本比较低,而且都是分开的jar包,还有一些集成到了其他的公共jar里,而且我也不熟悉到底要引入什么jar,最后导致了这个问题。。。

 不同的问题报的错是同一个,而且错误提示信息中可以获得的信息量也不大,对于我们初学者来说是挺为难的哦
over!!!
 
  
 
  
  
  
    
      
        
          - 在spring里开发cxf客户端应用.zip (21.4 KB)
- 下载次数: 0