intellij 开发webservice
最近项目中有用到WebService,于是就研究了一下,但是关于intellij 开发 WebService 的文章极少,要不就是多年以前,于是研究一下,写这篇博文。纯属记录,分享,中间有不对的地方,望请指正,下面开始。
首先,开发WebService的服务器端,不需要借助任何的其他,JDK就可以搞定,只要在类上标注了@WebService,以及在方法上,标注了@WebMethod方法,就可以认为他是一个WebService。
下面,先显示一下我的目录结构:
在server包下的是服务器端代码,在client包下的是客户端代码。
下面看一下,服务端代码:
HelloWorldWS.java
package server; /**
* Created by Lin_Yang on 2014/12/16.
*/
public interface HelloWorldWS {
public String sayHello(String name);
}
这是一个接口。(当然也可以没有这个接口,效果是一样的)
HelloWorldImpl.java
package server; import javax.jws.WebMethod;
import javax.jws.WebService; /**
* Created by Lin_Yang on 2014/12/16.
*/
@WebService
public class HelloWorldImpl implements HelloWorldWS {
@WebMethod
@Override
public String sayHello(String name) {
String str="欢迎你:"+name;
System.out.println(str);
return str;
}
}
注意上面的两个注释@WebService 和 @WebMethod
下面就可以发布这个WebService了
Publish.java
package server; import javax.xml.ws.Endpoint; /**
* Created by Lin_Yang on 2014/12/16.
*/
public class Publish {
public static void main(String args[]){
Object implementor = new HelloWorldImpl();
String address = "http://localhost:8989/HelloWorld"; //发布到的地址
Endpoint.publish(address, implementor);
System.out.println("发布成功");
}
}
客户端的代码很简单,这里就不连篇累牍了。
下面着重说一下客户端代码的创建过程。
intellij14 中内置了WebService 的客户端代码的实现方式,他是使用的 JAX-WS.废话不多说,上图。
在Intellj 的 Tool-->WebServices-->Generate Java Code From WSDL (一看就是根据WSDL文档生成java代码了)
随后应该弹出这个一个提示框。 首先,Web service wsdl url 是指明WSDL文档的位置,这里的地址和服务端发布的地址相对应。他也可以不从网络中寻找这个WSDL文档,也可以从本地寻找。 格式是这样的:file:/c:/CRMLOYMemberCreateWorkflow.wsdl 指定文档的地址。 按照上图的配置,就会在client包中生成这些代码
下面我们就可以根据这些生成的代码,访问服务端的WebService了 test/client.java
package client.test; import client.HelloWorldImpl;
import client.HelloWorldImplService; /**
* Created by Lin_Yang on 2014/12/16.
*/
public class Client {
public static void main(String args[]){
HelloWorldImplService helloWorldImplService=new HelloWorldImplService();
HelloWorldImpl helloWorld= helloWorldImplService.getHelloWorldImplPort();
String returnStr= helloWorld.sayHello("先知后觉");
System.out.println(returnStr);
} }
服务端显示
客户端显示:
希望可以给大家一些启示。
intellij 开发webservice的更多相关文章
- 使用JDK开发WebService
一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...
- Java开发Webservice的组件
参考:http://bbs.csdn.net/topics/390900831 转自:http://blog.csdn.net/dragoo1/article/details/50759222 htt ...
- 2.使用JDK开发webService
使用jdk开发webService需要注意:jdk版本必须1.6以及1.6以上! 以下webService的组成部分: server端和client端,通过服务器端(server)webService ...
- 利用NuSoap开发WebService(PHP)
利用NuSoap开发WebService(PHP) 分类: php 2010-09-08 12:00 5005人阅读 评论(1) 收藏 举报 webservicephpsoapstringencodi ...
- JAVA6开发WebService (四)——SAAJ调用WebService
转载自http://wuhongyu.iteye.com/blog/810571 前面写了个JAX-WS的小例子,看到用JAVA6开发WebService确实很简单,也很方便,不过前面也说了,JAVA ...
- Apache axis2 + Eclipse 开发 WebService
yd小结注意:1.axis2的2个插件的版本必须与引入的jar包匹配,如果不同则可能报以下错误 “没有实现序列化方法”或 “org.apache.axis2.databinding.utils.wri ...
- struts1+spring+myeclipse +cxf 开发webservice以及普通java应用调用webservice的实例
Cxf + Spring+ myeclipse+ cxf 进行 Webservice服务端开发 使用Cxf开发webservice的服务端项目结构 Spring配置文件applicationCont ...
- 使用cxf开发webservice应用时抛出异常
在使用cxf开发webservice应用时,报出了类似下面的错误 JAXB: [javax.xml.bind.UnmarshalException: unexpected element (uri:& ...
- WebService学习总结(三)——使用JDK开发WebService
一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...
随机推荐
- Java之Jenkins工具【转】
1.1 前言 Jenkins是一个用Java编写的开源的持续集成工具.在与Oracle发生争执后,项目从Hudson项目独立. Jenkins提供了软件开发的持续集成服务.它运行在Servlet容器中 ...
- Dictionary To Dynamic
原文发布时间为:2012-12-25 -- 来源于本人的百度文章 [由搬家工具导入] public static class DictionaryExt { /// <sum ...
- locust参数关联及批量注册
前言 前面[Locust性能测试2-先登录场景案例]讲了登录的案例,这种是直接传账号和密码就能登录了,有些登录的网站会复杂一点,需要先从页面上动态获取参数,作为登录接口的请求参数,如[学信网:http ...
- 分享C#识别图片上的数字
通过Emgu实现对图片上的数字进行识别.前期步骤:1.下载Emgu安装文件,我的版本是2.4.2.1777.3.0版本则实现对中文的支持.2.安装后需填写环境变量,环境变量Path值后加入Emgu安装 ...
- ZOJ 1232 Adventure of Super Mario (Floyd + DP)
题意:有a个村庄,编号为1到a,有b个城堡,编号为a+1到a+b.现在超级玛丽在a+b处,他的家在1处.每条路是双向的,两端地点的编号以及路的长度都已给出.路的长度和通过所需时间相等.他有一双鞋子,可 ...
- 2017省选集训测试赛(二十五)Problem B recollection
@(XSY)[后缀数组, 启发式合并, ST表] Description Solution 后缀数组 + 启发式合并 + Sparse Table. 这是第一次写树上后缀数组. 对以每个点为根的子树统 ...
- 各语言最原始数据库访问组件封装DBHelper
源码:https://github.com/easonjim/DBHelper bug提交:https://github.com/easonjim/DBHelper/issues 每个语言放在不同的分 ...
- 用PHP实现弹出消息提示框
方法一: echo "<script>alert('提示内容')</script>"; 方法二: echo '<script language=&qu ...
- HDU1969
记得用PI=acos(-1)反三角函数求,用一次排序,然后二分和贪心 #include<iostream> #include<algorithm> #include<io ...
- 左手系,右手系,row major, column major
http://www.cnblogs.com/minggoddess/p/3672863.html dx 左手系 row major ogl 右手系 column major 差了个 matrix ...