一、开发手段:
1. 使用jdk开发(jdk1.6以上版本)
2. 使用CXF框架开发(工作中)
组成:
1. 服务器端
2. 客户端
二、JDK开发WebService
1、服务器端开发:
(1)、WebSerive编码:
@WebService(SEI和SEI的所有实现类)
@WebMethod(SEI中的所有方法)
HelloWSDao接口:
import javax.jws.WebMethod;
import javax.jws.WebService;
/**
* SEI: 接口
* @author zhaojw_420
*
*/
@WebService
public interface HelloWSDao {
@WebMethod
public String sayHello(String name);
}
HelloWSDao实现类HelloWSDaoImpl
import javax.jws.WebService;
import com.mywebserice.dao.HelloWSDao;
/**
* SEI的实现
* @author zhaojw_420
*
*/
@WebService
public class HelloWsDaoImpl implements HelloWSDao {
@Override
public String sayHello(String name) {
// TODO Auto-generated method stub
System.out.println("server sayHello() "+name);
return "hello "+name;
}
}
(2)、发布WebService:
Endpoint(终端,发布WebService)
HelloWS的发布
import javax.xml.ws.Endpoint;
import com.mywebserice.dao.impl.HelloWsDaoImpl;
/**
* 发布WebService
* @author zhaojw_420
*
*/
public class HelloWSServer {
public static void main(String[] args) {
String address="http://192.168.88.59:8989/WebService/hellows";
Endpoint.publish(address, new HelloWsDaoImpl());
System.out.println("发布webservice成功!");
}
}
2、开发客户端:
(1)、使用Eclipse提供的web service浏览器访问
* 查看对应的wsdl文档:。。。。?wsdl(一般浏览器) 如:http://192.168.88.59:8989/WebService/hellows?wsdl
* 请求webservice并查看请求和相应消息(webservice浏览器)
(2)、创建客户端采用编码方式访问
* 借助jdk的wsimort.exe工具生成客户端代码
命令:wsimport -keep url //url为wsdl文件的路径
运行命令后,,在新建的客户端程序中会出现编译过得webservice代码。
*借助生成的代码编写请求代码
import com.mywebserice.dao.impl.HelloWsDaoImpl;
import com.mywebserice.dao.impl.HelloWsDaoImplService;
/**
* 调用webservice
* @author zhaoj_420
*
*/
public class ClientTest {
public static void main(String[] args) {
HelloWsDaoImplService hs=new HelloWsDaoImplService();
HelloWsDaoImpl service=hs.getHelloWsDaoImplPort();
String result=service.sayHello("jack");
System.err.println("hello "+result);
}
}
运行后返回:hello jack。