一、首先建立一个bean主要用于连接数据库的时候封装数据的(看自己的情况来定)
package com.ifly.ms.beans;
import java.io.Serializable;
public class OrderBean implements Serializable{
/**
* TODO
*/
private static final long serialVersionUID = 8100663234892278354L;
private String orderNo;
private String orderAddress;
private String orderCount;
public String getOrderNo() {
return orderNo;
}
public void setOrderNo(String orderNo) {
this.orderNo = orderNo;
}
public String getOrderAddress() {
return orderAddress;
}
public void setOrderAddress(String orderAddress) {
this.orderAddress = orderAddress;
}
public String getOrderCount() {
return orderCount;
}
public void setOrderCount(String orderCount) {
this.orderCount = orderCount;
}
}
二、建立一个service主要用于提供其他应用程序访问的接口
package com.ifly.ms.beans;
import javax.jws.WebService;
@WebService(name="orderQueryService")
public class OrderQuery {
public OrderBean findOrderByNo(String orderNO){
OrderBean order = new OrderBean();
order.setOrderNo(orderNO);
return order;
}
}
注意红色字体是必不可少的使用注解形式说明这个类可以供外部访问
三、发布一下这个webservice
package com.ifly.ms.beans;
import javax.xml.ws.Endpoint;
public class OrderPublish {
public static void main(String[] args) {
Endpoint.publish("http://172.16.11.64:8080/QueryOrder", new OrderQuery());
}
}
注:ip地址是自己本机的Ip,端口随便写,ip不能使用localhost和127.0.0.1,项目名称也可以随便写
四、在命令行里生成客户端调用文件
新建一个文件件,使用dos命令行进入该文件夹,然后输入wsimport http://172.16.11.64:8080/QueryOrder?wsdl
五、把该文件进行打包
jar cvf jar包名.jar (com/*)文件需要打包路径
六、新建一个项目进行调用该webservice
把上面生成的jar包导入该项目
package com.ifly.ms.client;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import com.ifly.ms.beans.OrderBean;
import com.ifly.ms.beans.OrderQueryService;
import com.ifly.ms.beans.OrderQueryService_Service;
public class OrderQueryClient {
public static void main(String[] args) {
URL url = null;
try {
url = new URL("http://172.16.11.64:8080/QueryOrder?wsdl");
} catch (MalformedURLException e) {
e.printStackTrace();
}
QName sName = new QName("http://beans.ms.ifly.com/", "OrderQueryService");
OrderQueryService_Service orderServiceImpl = new OrderQueryService_Service(url, sName);
OrderQueryService orderService = orderServiceImpl.getOrderQueryServicePort();
OrderBean orderBean = orderService.findOrderByNo("20131125");
System.out.println(orderBean.getOrderNo());
}
}