您的位置:首页 > 其它

CXF中web service客户端远程调用服务端

2013-07-01 19:03 465 查看
续:/article/9178431.html
------------------------------------------------------------------------------------

任何语言实现了web service的,都需要提供wsdl文档。

远程调用web service
CXF提供了wsdl2java工具,将wsdl文件转换为java描述文档。用法如下,打开cmd,进入客户端project的src
wsdl2java http://ip地址:端口/helloworld?wsdl

生成的java文档出现以下错误:

Service(URL, QName, WebServiceFeature[]) is undefined

Service(URL, QName, WebServiceFeature[]) is undefined

原因是CXF自带的javax.xml.service 版本高过 jdk的javax.xml.service。

一个解决办法是: 在使用wsdl2java时,加入参数 -frontend jaxws21

源地址:点击打开链接

------------------------------------------------------------------------------------



生成后开始用ClientMain.java调用

public class ClientMain {
public static void main(String[] args) {
HelloWorldWs factory = new HelloWorldWs();
HelloWorld helloworld = factory.getHelloWorldImplPort();
helloworld.say("xxxx");
}
}


HelloWorldWs是之前定义的名称,可看做工厂类,getXxxPort()方法获得原来的类。便可以调用类中的方法了。

其实这只是生成了Xxx类的代理对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: