Webservice客户端动态调用服务端功能方法
Posted long77
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Webservice客户端动态调用服务端功能方法相关的知识,希望对你有一定的参考价值。
一、发布WebService服务
方式一:在服务端生成wsdl文件,下方客户端直接引用即可
优点:针对要发布的方法生成一个wsdl文件即可,无需多余配置。
缺点:每次服务端方法发生改变都需要重新生成相应的wsdl文件,不适合于功能需要经常变动的方法。
方式二:
二、Client调用服务端接口
1、 项目架构如下:
2、调用过程:
1)右键点击项目名称——>“NEW”——>“Other”——>输入WEB service client 如下
2)完成出现客户端配置窗口,如下
3)在“service definition”中输入webservice开放的服务地址, 注意地址末尾必须加上“?WSDL”
还需注意的是,创建的web service client 必须是3.0以下版本。
4)这个项目中除了 TestClient.java类是自己创建的,其他都是自动生成的。
5)TestClient.java类
public static void main(String[] args) {
try {
HelloWorldServiceServiceLocator service = new HelloWorldServiceServiceLocator();
java.net.URL url = new java.net.URL(" http://localhost:8080/mywebservices/services/HelloWorldService.jws?WSDL");
HelloWorldServiceSoapBindingStub stub = new HelloWorldServiceSoapBindingStub(url, service);
String x2 = stub.getMessage();
System.out.println(x2);
} catch (RemoteException e) {
// TODO Auto-generated catch block20
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block23
e.printStackTrace();
}
}
这里主要用到的是***Locator 和***Stub这两个类。
以上是关于Webservice客户端动态调用服务端功能方法的主要内容,如果未能解决你的问题,请参考以下文章
如何用webservice从客户端发送一个xml给服务端接收并插入数据库
webservice -- cxf客户端调用axis2服务端
java调用java编写的WebService接口服务端收到的参数为空