1 创建WebService
- @WebService(
- targetNamespace="http://ws.shanch.com",
- name="OrderService",
- serviceName="OrderServiceBean"
- )
- @Stateless
- @Remote(OrderService.class)
- public class OrderServiceBean implements OrderService{
- @WebMethod
- public Order getOrder(String orderId) {
- Order order = new Order();
- order.setOrderId(orderId);
- order.setName("小明");
- return order;
- }
- @WebMethod
- public List<Order> getOrders() {
- List<Order> orders = new ArrayList<Order>();
- Order order1 = new Order();
- order1.setOrderId("001");
- order1.setName("一");
- Order order2 = new Order();
- order2.setOrderId("002");
- order2.setName("二");
- orders.add(order1);
- orders.add(order2);
- return orders;
- }
- @WebMethod
- public String getUserName(String name) {
- return name;
- }
- }
2 使用 jax 生成客户端辅助代码
<?xml version="1.0" encoding="UTF-8"?>
- <project name="WSClient" default="wsclientgen" basedir=".">
- <property name="src.dir" value="${basedir}/src" />
- <path id="build.classpath" description="设置类路径">
- <fileset dir="${basedir}/lib">
- <include name="*.jar"/>
- </fileset>
- </path>
- <target name="wsclientgen" description="生成WebService客户端的辅助代码">
- <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport" classpathref="build.classpath"/>
- <wsimport wsdl="http://127.0.0.1:8080/WebService/OrderServiceBean?wsdl"
- sourcedestdir="${src.dir}" package="com.foshanshop.ws.client" keep="true"
- verbose="true" destdir="${basedir}/bin" />
- </target>
- </project>
3 调用:
- OrderServiceBean service = new OrderServiceBean();
- OrderService orderservice = service.getOrderServicePort();
- orderservice.getuserName("xxx");