标签:style http ar io os 使用 sp java on
1.创建一个普通的Java Project,例如叫wsService
2.创建package com.du.ws
3.创建接口 com.du.ws.HelloService.java
3.1 类用@WebService注解
3.2 方法用@WebMethod注解
@WebService
public interface HelloService {
@WebMethod
String sayHello(String name);
}
4.创建接口的实现类com.du.ws.HelloService.java
4.1 类用@WebService注解
4.2 方法用@WebMethod注解,如果方法要排除,使用@WebMethod(exclude=true)排除
@WebService
public class HelloServiceImpl implements HelloService {
@WebMethod
public String sayHello(String name) {
return "Hello " + name;
}
}
5.编写发布类com.du.endpoint.HelloServicePublisher.java
5.1 静态main方法 使用EndPoint.publish(URL,NEW_INSTANCE)格式发布
5.2 URL就是WSDL服务的地址,NEW_INSTANCE就是实例类
public class HelloServicePublisher {
public static void main(String[] args) {
Endpoint.publish("http://localhost:8888/helloService", new HelloServiceImpl());
System.out.println("Service is published!");
}
}
6.访问http://localhost:8888/helloService?wsdl如果看到XML格式,表示发布成功.
7.生成*.wsdl文件
7.1编写ANT文件或者借使用wsgen命令,因为项目使用JDK自带的JAX-WS API创建的.
7.2 使用wsgen命令:cmd进入到项目根目录使用命令,
wsgen -cp ./bin -r ./wsdl -s ./src -d ./bin -wsdl com.du.ws.HelloServiceImpl
使用时如果不清楚可以wsgen,看帮助说明比较重要的有-cp -r -s -d -wsdl
-cp 定义classPath,一般为./bin
-r 生成的wsdl文件存放目录,要创建好目录,否则会报找不到目录
-s 生成发布Web Service的源代码文件目录,一般为./src
-d 生成发布Web Service的对应class文件存放目录,一般为./bin
7.3 使用ANT文件 build_wsdl.xml,右键Run As -> Ant Build
<?xml version="1.0"?>
<project default="wsgen">
<target name="wsgen">
<exec executable="wsgen">
<arg line="-cp ./bin -r ./wsdl -s ./src -d ./bin -wsdl com.du.ws.HelloServiceImpl" />
</exec>
</target>
</project>
8. 执行完成后,项目右键,Refresh.
8.1 会在wsdl目录下生成*Service.wsdl文件和 *Serviec_schema1.xsd校验文件
8.2 在com.du.ws下创建package jaxws存放对应的发布源代码
--根据*.wsdl文件和*.xds生成web service文件 (HelloServiceImplService.wsdl , HelloServiceImplService_schema1.xsd)
1. 创建一个普通java project.例如叫wsServiceClient
2. 将*.wsdl和*.xds文件复制到src目录下
3. 使用wsimport -d表示生成的class文件目录, -s表示源文件目录
3.1直接路径
wsimport -d D:/xxx/workspace/ProjectName/bin -s D:/xxx/workspace/ProjectName/src HelloServiceImplService.wsdl
3.2间接路径 -s后面的点表示当前路径
wsimport -d ../bin -s . HelloServiceImplService.wsdl
3.3通过WSDL服务发布的WSDL link.
wsimport -d ../bin -s . http://localhost:8888/helloService?wsdl
4.上面的命令会根据Web Servie创建时的package接口创建源文件,这样就创建成功了.
5.编写测试类
在静态Mail方法中获取service,创建Port实例,调用相应的方法
public class TestHelloServiceClient {
public static void main(String[] args) {
HelloServiceImplService service = new HelloServiceImplService();
HelloServiceImpl proxy = service.getHelloServiceImplPort();
System.out.println(proxy.sayHello("Chen, Du"));
}
}
标签:style http ar io os 使用 sp java on
原文地址:http://my.oschina.net/vivine/blog/357482