基于JDK1.6的Web Service
来源:互联网 发布:c语言钩子函数 编辑:程序博客网 时间:2024/05/21 14:53
Web Service 是一种网络服务,具有跨平台的优点,一种开发语言生成的Web Service接口,可以供其他语言调用,而RMI只能由本语言调用。
在JDK1.6的环境下,生成Web Service的步骤如下:
1.编写服务类
package com.webservice.server.resource;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.ws.Endpoint;
@WebService(targetNamespace="")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class WebServiceServer {
public void init(){
String url = "http://localhost:8089/myWebService";
System.out.println("发布Web Service:"+url);
Endpoint.publish(url, new WebServiceServer());
}
public String doSomething(String param){
return "web service:"+param;
}
public static void main(String[] args) {
new WebServiceServer().init();
}
}
2.启动Web Service服务
运行类WebServiceServer.java
访问URL:http://localhost:8089/myWebService?wsdl
得到以下的页面,说明启动一个Web Service成功
3.生成接口
在命令行键入:wsimport -s d:/test -keep http://localhost:8089/myWebService?wsdl
此时会在文件test下生成以下文件
package com.webservice.server;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
/**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.1.1 in JDK 6
* Generated source version: 2.1
*
*/
@WebService(name = "WebServiceServer", targetNamespace = "http://server.webservice.com/")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface WebServiceServer {
/**
*
*/
@WebMethod
public void init();
/**
*
* @param arg0
* @return
* returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
public String doSomething(
@WebParam(name = "arg0", partName = "arg0")
String arg0);
}
package com.webservice.server;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
import javax.xml.ws.WebServiceFeature;
/**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.1.1 in JDK 6
* Generated source version: 2.1
*
*/
@WebServiceClient(name = "WebServiceServerService", targetNamespace = "http://server.webservice.com/", wsdlLocation = "http://localhost:8089/myWebService?wsdl")
public class WebServiceServerService
extends Service
{
private final static URL WEBSERVICESERVERSERVICE_WSDL_LOCATION;
static {
URL url = null;
try {
url = new URL("http://localhost:8089/myWebService?wsdl");
} catch (MalformedURLException e) {
e.printStackTrace();
}
WEBSERVICESERVERSERVICE_WSDL_LOCATION = url;
}
public WebServiceServerService(URL wsdlLocation, QName serviceName) {
super(wsdlLocation, serviceName);
}
public WebServiceServerService() {
super(WEBSERVICESERVERSERVICE_WSDL_LOCATION, new QName("http://server.webservice.com/", "WebServiceServerService"));
}
/**
*
* @return
* returns WebServiceServer
*/
@WebEndpoint(name = "WebServiceServerPort")
public WebServiceServer getWebServiceServerPort() {
return (WebServiceServer)super.getPort(new QName("http://server.webservice.com/", "WebServiceServerPort"), WebServiceServer.class);
}
/**
*
* @param features
* A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
* @return
* returns WebServiceServer
*/
@WebEndpoint(name = "WebServiceServerPort")
public WebServiceServer getWebServiceServerPort(WebServiceFeature... features) {
return (WebServiceServer)super.getPort(new QName("http://server.webservice.com/", "WebServiceServerPort"), WebServiceServer.class, features);
}
}
4.客户端访问Web Service
package com.webservice.client;
import com.webservice.server.WebServiceServerService;
public class WebServiceClient {
public static void main(String[] args) {
WebServiceServerService service = new WebServiceServerService();
String returnValue = service.getWebServiceServerPort().doSomething("hello world");
System.out.println("returnValue="+returnValue);
}
}
- 基于JDK1.6的Web Service
- 基于jdk1.6自带web Service 开发
- jdk1.6环境下开发web service的简单例子
- 利用jdk1.6的jax-ws 学习简单的web service
- BPEL-基于WEB Service的工作流介绍
- 基于ROSE的Web Service建模
- 基于xfire的web service开发例子
- 基于xfire的web service搭建
- 基于REST架构的Web Service设计
- 基于REST架构的Web Service设计
- 基于REST架构的Web Service设计
- 基于REST架构的Web Service设计
- 基于REST架构的Web Service设计
- 基于REST架构的Web Service设计
- 基于REST架构的Web Service设计
- 基于 java 的 Web Service 简单实现
- 基于REST架构的Web Service设计
- 基于SOA的web service调用
- Spring Proxool 连接池
- openlaszlo编译的两种方法
- 《谍影重重4:伯恩的遗产》观后感
- probabilistic analysis
- JAVA JDK1.5 线程池
- 基于JDK1.6的Web Service
- Xmanager 连接 centos 远程桌面
- C/C++学习规划与发展指引
- vim + ctags + taglist配置和使用 【及】 一键安装 ctags和cscope的方法 【及】vim语法高亮,自动缩进,python 自动缩进设置
- 成绩单
- 金蝶K3产品环境&行业篇常见问题集锦(一)-(二) -(三)
- Multiset(中)——STL中的multiset
- Maven使用总结
- 搭建RED5流媒体服务 RTMP流媒体 实现直播 可用jwplayer嵌入网页