一、发布WebService服务
方式一:在服务端生成wsdl文件,下方客户端直接引用即可
 
  优点:针对要发布的方法生成一个wsdl文件即可,无需多余配置。
  缺点:每次服务端方法发生改变都需要重新生成相应的wsdl文件,不适合于功能需要经常变动的方法。
 
方式二:在服务端生成WebService的服务端代码,如需变动方法或功能直接进行相关的更改即可。
  
  优点:变更功能、方法等客户端可以动态的调用,服务端一旦变更客户端即可通过动态进行变更引用。
 
 
二、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 {
CalculateServiceServiceLocator service = new CalculateServiceServiceLocator();
java.net.URL url = new java.net.URL("http://localhost:8080/WebServiceTest/services/CalculateService?wsdl");
/* java.net.URL url = new java.net.URL("http://localhost:8080/WebServiceTest/services/CalculateService");*/
CalculateServiceSoapBindingStub cssbs = new CalculateServiceSoapBindingStub(url, service);
float f =cssbs.divide(5, 3);
System.out.println("相除:"+f);

f =cssbs.plus(3, 6);
System.out.println("相加:"+f);
} catch (RemoteException e) {
// TODO Auto-generated catch block20
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

/* 静态引用Webservice
* CalculateServiceProxy csp = new CalculateServiceProxy();
CalculateService cs = csp.getCalculateService();
try {
float f=csp.multiply(3, 3);
System.out.println("乘积:"+f);
f=cs.divide(5, 2);
System.out.println("相除:"+f);
} catch (RemoteException e) {
e.printStackTrace();
}*/
}
}

这里主要用到的是***Locator 和***Stub这两个类。

Webservice客户端动态调用服务端功能方法的更多相关文章

  1. java版gRPC实战之六:客户端动态获取服务端地址

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. 三种客户端访问wcf服务端的方法 C#

    原文 http://blog.csdn.net/zlj002/article/details/7914556 string jsonstr = String.Empty; string url = & ...

  3. WCF使用地址去调用服务端的方法

    前面的章节已经讲过了WCF的代码和SVC页面的分离,这里是分离后,客户端调用代码如下: try { var myBinding = new BasicHttpBinding(); var myEndp ...

  4. 动态的调用服务端的WCF中的方法

    客户端调用wcf ,有时需要动态的调用服务端的WCF中的方法,本方法,反射wcf 的接口,动态调用接口中的方法. 主要为,动态绑定,反射动态调用. public static object Execu ...

  5. IOS开发系列之阿堂教程:玩转IPhone客户端和Web服务端交互(客户端)实践

    说到ios的应用开发,我们不能不提到web server服务端,如果没有服务端的支持,ios应用开发就没有多大意义了,因为从事过手机开发的朋友都知道(Android也一样),大量复杂业务的处理和数据库 ...

  6. .Net Mvc3框架调用服务端控件解决方案

      /*BY:Wangyexin date:2011年4月30日 20:17:38*/ /*说明:.net mvc3框架,View层调用服务端控件,输出到.cshtml文件中显示*/ 1.先说说.ne ...

  7. Android客户端与PHP服务端交互(一)---框架概述

    背景 作为一个普通上班族,总是想做一些自认为有意义的事情,于是乎准备成立一个工作室,尽管目前正在筹备阶段,但是之前有些朋友提出一些需求的时候,我发现自己的能力还是有限,直到最近和一些技术牛朋友聊起这事 ...

  8. JS提交对象数组到服务端的方法总结(C#实例)

    *转载请注明出处: 作者:willingtolove: 本文链接:http://www.cnblogs.com/willingtolove/p/4741549.html 正文: 1. 方法一:利用aj ...

  9. WCF初探-11:WCF客户端异步调用服务

    前言: 在上一篇WCF初探-10:WCF客户端调用服务 中,我详细介绍了WCF客户端调用服务的方法,但是,这些操作都是同步进行的.有时我们需要长时间处理应用程序并得到返回结果,但又不想影响程序后面代码 ...

随机推荐

  1. 牛客第二场A-run

    链接:https://www.nowcoder.com/acm/contest/140/A 来源:牛客网 White Cloud is exercising in the playground. Wh ...

  2. 检测用户命令序列异常——使用LSTM分类算法【使用朴素贝叶斯,类似垃圾邮件分类的做法也可以,将命令序列看成是垃圾邮件】

    通过 搜集 Linux 服务器 的 bash 操作 日志, 通过 训练 识别 出 特定 用户 的 操作 习惯, 然后 进一步 识别 出 异常 操作 行为. 使用 SEA 数据 集 涵盖 70 多个 U ...

  3. CentOS安装JDK-tar.gz文件

    1.下载JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html. 测试 ...

  4. Maven常见jar包依赖

    <!-- servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactI ...

  5. 微信小程序web-view使用测试总结

    1.后台配置业务域名. 2.在开发者工具的web-view组件中绑定业务域名. 3.点击开发者工具的详情按钮,选择调试基础库高版本,如果不设置,有可能绑定的业务域名内容不显示. 4.如果是公众号上的内 ...

  6. learning ddr DLL-off mode

  7. sql2008r2安装失败的解决办法

    setup fails with: '.', hexadecimal value 0x00, is an invalid character.SQL 2012 Setup issues - hexad ...

  8. Unity中Text中首行缩进两个字符和换行的代码

    1.首行缩进两个字符 txt.text=“\u3000\u3000” + str: 2.首行缩进两个字符 将输入法换成全角的,在Text属性面板中添加空格即可. 3.换行    “\n” 补充 Uni ...

  9. 用Python的导入csv、文本文件、Excel文件的数据

    使用read_csv函数导入CSV文件 read.csv函数语法 read_csv(file,encoding) 例子: Age,Name 22,wangwei 23,lixin 24,liqing ...

  10. leetcode python 003

    ## 给定一个字符串,求其最长无重复的子字符串##给定“abcabcbb”,答案是“abc”,长度为3.##给定“bbbbb”,答案是“b”,长度为1.##鉴于“pwwkew”,答案是“wke”,长度 ...