使用 CXF 构建WebService中的问题分享

CXF成为java构建Webservice的首选。虽然很简单,但是由于历史原因,还是有不少问题。

首先,因为版本问题,在3.0以后的版本,

<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>

这一句可以删掉了。因为无法找到了,不需要了。

 

其次,在使用 <jaxws:server> 还是 <jaxws:endpoint> 发布服务的问题也可以不用考虑了,这基本都是一样的。

 

最后是个比较郁闷了很久的问题,那就是发布服务后,通过 http://localhost/context/foo?wsdl 查看wsdl时发现,具体的参数没有被wsdl描述,只是放了一句 <soap:body use="literal"/> ,让人摸不着头脑。什么WebParam都用上了也没能解决,最后找到原因,要加上 targetNamespace ! (接口,实现都要加)例如 

@WebService(targetNamespace="http://app.company.com")

然后问题解决了。

<xs:complexType name="test">
<xs:sequence>
<xs:element minOccurs="0" name="id" type="xs:string"/>
<xs:element minOccurs="0" name="type" type="xs:string"/>
<xs:element minOccurs="0" name="name" type="xs:string"/>
</xs:sequence>

 

</xs:complexType>
这样看起来好多了。CXF 暴露接口的具体参数名称类型的问题,就此解决了。
目前就这么多问题,记下来以便后来人搜索翻阅。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值