webservice客户端开发

由于本人比较菜先从简单的写起

这次做的功能是JAVA调用C#提供的webservice接口,将大概的开发方法和遇到的问题总结一下:


1、C#提供的webservice服务地址一般为http://XXXX.com/WebService[b].asmx[/b]

要获得wsdl文件只需要在服务地址后面加?wsdl即可:如
http://XXXX.com/WebService[b].asmx?wsdl[/b]

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书写错误

但是这些都没有解决我的问题
[color=red]注意:其中2)的那三个引入在webservice客户端是不需要的,最好不要引入。[/color]

我代码里的问题最后发现是缺少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,最后导致了这个问题。。。

:D 不同的问题报的错是同一个,而且错误提示信息中可以获得的信息量也不大,对于我们初学者来说是挺为难的哦

over!!! :wink: :wink:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值