首先编写 Servicejava
package service;web
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
/**
* 一个简单的webService demo 类,使用 @WebService 注解申明 这是一个 webService 类
*/浏览器
@WebService
public class JwsServiceDemo {.net
/**
* WebService 注解中的方法会被发布到服务中去
* @param Name
* @return
*/
public String helloJws(String userName) {
return " Hello dear " + userName;
}
public String helloEverybody(String userName) {
return " Hello dear " + userName;
}
/**
* 静态方法不会发布到webService 上面
* @param Name
* @return
*/
public static String helloJwsStatic(String Name) {
return " Hello dear " + Name;
}
/**
* 添加WebMethod注解 且其中exclude 且属性等于 true 的时候不会发布到服务上面去
* @param Name
* @return
*/
@WebMethod(exclude=true)
public String hellJwsMethod(String Name) {
return " Hello dear " + Name;
}
public static void main(String[] args) {
/*
* 调用javax.xml.ws.EndPoint 中的publish 来发布一个服务
* 参数 服务发布的地址,端口
* 提供服务的类
*/
Endpoint.publish("http://localhost:8084/Service", new JwsServiceDemo());
System.out.println("WebServie 服务地启动成功 ~~~");
}
}命令行
在启动成功后能够在浏览器中输入 http://localhost:8084/Service?wsdl 。注意 ? 是英文状态xml
若是启动无误的话就可以后看到 Service.xml 的配置文件,其中能够看到 webService 中的方法,参数等类容get
而后下载 webService 中的类 在系统中在命令行中使用 Java命令编译器
wsimport -keep -p com.deom.webService http://localhost:8084/Service?wsdl编译
wsimport 中的详细类容 能够使用 wsimport -help 进行查看class
导出时注意 写好包名 即com.deom.webService 保证将 .java 文件导入到编译器中的时候不会出现要修改包名的状况,若是修改包名有可能会出现错误。
写好webService 服务类,导出具体的服务端代码文件以后,就能够调用服务端的 webService 端口了。
import com.deom.webService.JwsServiceDemo;
import com.deom.webService.JwsServiceDemoService;
/**
* webSerivce 客户端简单案例
*
*/
public class DemoWebCient {
public static void main(String[] args) {
/*
* new 一个webService服务
* 用过服务的端口拿到对用的方法,每一个webService 中的方法都会生成一个 对应的方法类
* 经过这个方法类再调用 webService中的方法
*/
JwsServiceDemoService jws = new JwsServiceDemoService();
JwsServiceDemo hello = jws.getJwsServiceDemoPort();
System.out.println(hello.helloJws("Bob"));
}
}
完成上述操做 而且控制带打印出 Hello dear Bob 完成了一个webService 客户端调用 服务端的操做