作者:http://blog.csdn.net/dreamfly88/article/details/52350370

因为工作需要,数据传输部分需要使用webservice实现,经过两天的研究,实现了一个简单的例子,具体方法如下。

首先需要新建一个项目,如图:

下一步点击finish,然后会生成一个webservice项目,在HelloWorld类里面写自己的方法,在file下编译一下这个类,不编译,idea会提示不通过,编译后需要将为该服务发布WSDL文件,此文件必须生成,如下图:

选择需要发布的服务

然后部署到TOMCAT,如图,这里需要注意的是需要引入这个库才能正常运行webservice

启动tomcat后,在浏览器中敲入如下代码:localhost:8080/services 回车测试webservice是否部署成功:

然后编写客户端测试代码,如下:

主要代码:

服务端:

  1. package example;
  2. import javax.jws.WebService;
  3. /**
  4. * Created by zhangqq on 2016/8/26.
  5. */
  6. public class HelloWorld {
  7. public String sayTitle(String from) {
  8. String result = "title is " + from;
  9. System.out.println(result);
  10. return result;
  11. }
  12. public String sayBody(String Other) {
  13. String result = "-------------body is-------------- " + Other;
  14. System.out.println(result);
  15. return result;
  16. }
  17. public String sayAll(String title,String body) {
  18. String result ="--------title:"+title+ "----------------/r/nbody:--------------------------- " + body;
  19. System.out.println(result);
  20. return result;
  21. }
  22. }

客户端:

  1. package test;
  2. import org.apache.axis.client.Call;
  3. import org.apache.axis.client.Service;
  4. import org.apache.axis.utils.StringUtils;
  5. import javax.xml.rpc.ServiceException;
  6. import java.net.MalformedURLException;
  7. /**
  8. * Created by zhangqq on 2016/8/29.
  9. */
  10. public class WebSvrClient {
  11. public static void main(String[] args) {
  12. String url = "http://localhost:8080/services/HelloWorldService";
  13. String method = "sayTitle";
  14. String[] parms = new String[]{"abc"};
  15. WebSvrClient webClient = new WebSvrClient();
  16. String svrResult = webClient.CallMethod(url, method, parms);
  17. System.out.println(svrResult);
  18. }
  19. public String CallMethod(String url, String method, Object[] args) {
  20. String result = null;
  21. if(StringUtils.isEmpty(url))
  22. {
  23. return "url地址为空";
  24. }
  25. if(StringUtils.isEmpty(method))
  26. {
  27. return "method地址为空";
  28. }
  29. Call rpcCall = null;
  30. try {
  31. //实例websevice调用实例
  32. Service webService = new Service();
  33. rpcCall = (Call) webService.createCall();
  34. rpcCall.setTargetEndpointAddress(new java.net.URL(url));
  35. rpcCall.setOperationName(method);
  36. //执行webservice方法
  37. result = (String) rpcCall.invoke(args);
  38. } catch (Exception e) {
  39. e.printStackTrace();
  40. }
  41. return result;
  42. }
  43. }

实例地址:

源码下载地址

Idea实现WebService实例 转的更多相关文章

  1. SAP和Java系统的Webservice实例

    简介: 关于Webservice的概念和原理,简单来讲,Webservice是一种基于SOAP传输协议,用WSDL描述,用XML封装数据的接口技术.由于其跨平台.跨防火墙.开发成本低.开发周期短等优势 ...

  2. PHP调用Webservice实例

    原文 PHP调用Webservice实例 NuSoap是PHP环境下的WebService编程工具,用于创建或调用WebService.它是一个开源软件,是完全采用PHP语言编写的.通过HTTP收发S ...

  3. Java 使用Axis实现WebService实例

    在上一篇WebService实例中,基于jdk1.6以上的javax.jws 发布webservice接口.这篇博文则主要用eclipse/myeclipse 使用axis插件进行发布和调用WebSe ...

  4. 利用Java编写简单的WebService实例

    使用Axis编写WebService比較简单,就我的理解,WebService的实现代码和编写Java代码事实上没有什么差别,主要是将哪些Java类公布为WebService. 以下是一个从编写測试样 ...

  5. XFire创建WebService实例应用

    [转自] http://clq9761.iteye.com/blog/1261963 XFire创建WebService实例应用 XFire使得在JavaEE应用中发布Web服务变得轻而易举.和其他W ...

  6. 利用Java编写简单的WebService实例-转载

    使用Axis编写WebService比较简单,就我的理解,WebService的实现代码和编写Java代码其实没有什么区别,主要是将哪些Java类发布为WebService.下面是一个从编写测试例子到 ...

  7. 实例化WebService实例对象时出现localhost未引用命名空间

    //实例化WebService实例对象 localhost.WebService WebserviceInstance = new localhost.WebService(); 在实例化WebSer ...

  8. C#最简单最完整的webservice实例

    http://fyinthesky.blog.163.com/blog/static/3555251720110115227337/ 我做java,但最近接触crm所以必须研究一下C#中的webser ...

  9. CXF整合Spring发布WebService实例

    一.说明: 上一篇简单介绍了CXF以及如何使用CXF来发布一个简单的WebService服务,并且介绍了客户端的调用. 这一篇介绍如何使用CXF与spring在Web项目中来发布WebService服 ...

随机推荐

  1. php不允许用户提交空表单(php空值判断)

    我们在设计提交空的评论时依然可以写入数据库,并在页面显示出来.这显然是不合理的,所以需要我们加入空值判断 可以修改代码,添加些判断: 复制代码代码如下:   if(empty($_POST['name ...

  2. C# 翻页设计:首页,上一页,下一页,末页 ,跳转

    int pageSize = 0; //每页显示行数 int nMax = 0; //总记录数 int pageCount = 0; //页数=总记录数/每页显示行数 int pageCurrent ...

  3. 监听div内容改变

    做前端突击队,外星人那道是自己手动模拟那个时间的变化的,但正确思路应该是监听div内容的变化然后同步到输入框中,遂今天找了一下,结果如下: $('div').bind('DOMNodeInserted ...

  4. C# 两时间,时间间隔

    #region 返回时间差        public static string DateDiff(DateTime DateTime1, DateTime DateTime2)        {  ...

  5. Marsonry

    前言 1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时 ...

  6. Duplicate Symbol链接错的原因总结和解决方法-b

    duplicate symbol是一种常见的链接错误,不像编译错误那样可以直接定位到问题的所在.但是经过一段时间的总结,发现这种错误总是有一些规律可以找的.例如,我们有如下的最简单的两个类代码: // ...

  7. Python的数据类型总结

    原地可变类型和不可变类型 原地不可变类型又叫可哈希(hashable)类型,原地可变类型又叫不可哈希类型. 原地不可变类型: 数字类型:int, float, decimal.Decimal, fra ...

  8. HTML DOM select() 方法

    定义和用法 select() 方法用于选择该元素中的文本. 语法 textareaObject.select() 实例 下面的例子可选择文本框中的文本: <html> <head&g ...

  9. bzoj 3858: Number Transformation 暴力

    3858: Number Transformation Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 82  Solved: 41[Submit][Sta ...

  10. uva 11437 - Triangle Fun

    计算几何: 直线交点: #include<cstdio> using namespace std; struct node { double x,y; node(,):x(x),y(y){ ...