利用jdk1.6的jax-ws 学习简单的web service
2013-03-28 10:52
323 查看
转载:http://blog.sina.com.cn/s/blog_674bc8f90100niss.html
注:不需要导入任何jar包
1.服务器端
接口
package com.reqe.shark.webservice;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import com.flextao.shark.bean.RepairInfoDataSource;
@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface RepairInfoWebService {
@WebMethod
public String publishRepairInfoToLDS(RepairInfoDataSource repairInfo);
}
实现类
package com.reqe.shark.webservice.impl;
import javax.jws.WebService;
import com.flextao.shark.bean.RepairInfoDataSource;
@WebService(targetNamespace="http://webservice.shark.reqe.com/",
serviceName="RepairInfoWebService",
endpointInterface="com.reqe.shark.webservice.RepairInfoWebService")
public class RepairInfoWebServiceImpl implements
com.reqe.shark.webservice.RepairInfoWebService {
@Override
public String publishRepairInfoToLDS(RepairInfoDataSource repairInfo) {
System.out.println(repairInfo.getSerialNum());
System.out.println(repairInfo.getRepairText());
//业务处理
return "success";
}
}
2.发布服务,如果是web服务,可以在servlet中发布
public class RepairInfoWebServiceController extends HttpServlet {
@Override
public void init() throws ServletException {
Endpoint.publish("http://192.168.1.98:8080/shark", new RepairInfoWebServiceImpl());
}
}
在web.xml中配置servlet
3.客户端测试类
客户端webservice接口
package com.reqe.shark.webservice;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import com.reqe.shark.bean.RepairInfoDataSource;
@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface RepairInfoWebService {
@WebMethod
public String publishRepairInfoToLDS(RepairInfoDataSource repairInfo);
}
客户还需要写一个RepairInfoDataSource的javabean,包名也要相同
测试类
public class TestWebService {
public static void main(String[] args) {
try {
URL url = new URL("http://192.168.1.98:8080/shark?wsdl");//wsdl 地址
QName qname = new QName("http://webservice.shark.reqe.com/","RepairInfoWebService"); //其中第一个参数为:namespaceURI 第二个为servername
Service service = Service.create(url, qname);
RepairInfoWebService s = service.getPort(RepairInfoWebService.class);
RepairInfoDataSource repairInfo = new RepairInfoDataSource();
repairInfo.setSerialNum("2010");
repairInfo.setRepairText("路灯坏了");
System.out.println(s.publishRepairInfoToLDS(repairInfo));
} catch (Exception e) {
e.printStackTrace();
}
}
注:不需要导入任何jar包
1.服务器端
接口
package com.reqe.shark.webservice;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import com.flextao.shark.bean.RepairInfoDataSource;
@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface RepairInfoWebService {
@WebMethod
public String publishRepairInfoToLDS(RepairInfoDataSource repairInfo);
}
实现类
package com.reqe.shark.webservice.impl;
import javax.jws.WebService;
import com.flextao.shark.bean.RepairInfoDataSource;
@WebService(targetNamespace="http://webservice.shark.reqe.com/",
serviceName="RepairInfoWebService",
endpointInterface="com.reqe.shark.webservice.RepairInfoWebService")
public class RepairInfoWebServiceImpl implements
com.reqe.shark.webservice.RepairInfoWebService {
@Override
public String publishRepairInfoToLDS(RepairInfoDataSource repairInfo) {
System.out.println(repairInfo.getSerialNum());
System.out.println(repairInfo.getRepairText());
//业务处理
return "success";
}
}
2.发布服务,如果是web服务,可以在servlet中发布
public class RepairInfoWebServiceController extends HttpServlet {
@Override
public void init() throws ServletException {
Endpoint.publish("http://192.168.1.98:8080/shark", new RepairInfoWebServiceImpl());
}
}
在web.xml中配置servlet
3.客户端测试类
客户端webservice接口
package com.reqe.shark.webservice;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import com.reqe.shark.bean.RepairInfoDataSource;
@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface RepairInfoWebService {
@WebMethod
public String publishRepairInfoToLDS(RepairInfoDataSource repairInfo);
}
客户还需要写一个RepairInfoDataSource的javabean,包名也要相同
测试类
public class TestWebService {
public static void main(String[] args) {
try {
URL url = new URL("http://192.168.1.98:8080/shark?wsdl");//wsdl 地址
QName qname = new QName("http://webservice.shark.reqe.com/","RepairInfoWebService"); //其中第一个参数为:namespaceURI 第二个为servername
Service service = Service.create(url, qname);
RepairInfoWebService s = service.getPort(RepairInfoWebService.class);
RepairInfoDataSource repairInfo = new RepairInfoDataSource();
repairInfo.setSerialNum("2010");
repairInfo.setRepairText("路灯坏了");
System.out.println(s.publishRepairInfoToLDS(repairInfo));
} catch (Exception e) {
e.printStackTrace();
}
}
相关文章推荐
- Web Service学习小结——基于JDK自带JAX-WS实现的web service
- 使用JDK1.6的JAX-WS编写WebService
- 使用JDK1.6的JAX-WS编写WebService(转)
- JDK1.6集成的JAX-WS开发webservice
- 基于JDK自带JAX-WS实现的web service
- Java Web 学习笔记之九:利用Jetty+restEasy搭建简单的rest web service
- jdk1.6环境下开发web service的简单例子
- jdk的wsgen.exe和cxf的wsimport.bat建立简单JAX-WS客户端服务端实践
- 基于JDK 1.6的WebService JAX-WS的实现
- 利用jdk开发web service简单实例
- JDK 1.6 写Webservice时,runtime modeler error: Wrapper class com.ws.jaxws.DoSomething is not found问题的解决办法
- JDK 1.6 写Webservice时,runtime modeler error: Wrapper class com.ws.jaxws.DoSomething is not found问题的解决
- Apache CXF 学习笔记二,创建第一个基于JAX-WS的简单Sample
- JAX-WS 学习一:基于java的最简单的WebService服务
- webservice使用JDK自带的jax-ws创建并发布一个简单的webservice
- JDK 1.6 写Webservice时,runtime modeler error: Wrapper class com.ws.jaxws.DoSomething is not found问题的解决办法
- 利用jaxws创建service 和 client 简单方法
- 基于JDK 1.6的WebService JAX-WS的实现
- JAX-WS 学习一:基于java的最简单的WebService服务
- WebService学习——利用Eclipse生成JAX-WS WebService客户端