说起WebService很多人都会觉得很复杂,你可能需要一个axis2或CXF之类的框架,还要做一大堆的配置,不过现在使用JAXWS2.0规范来发布一个web服务已经非常简单了。当然最新的CXF也是JAXWS的实现,我们这里给出的非常简单的小例子只要使用JSE6.0就搞定了(我使用的是JDK6update12版本)。
首先编写要发布成服务的类:
package jaxwsserver;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService()
public class SeManager {
public String greetings(@WebParam(name="username") String name){
return "hello"+name;
}
}
关键是标注部分。
然后还需要生成一些辅助的类,到编译后的class的根目录下运行如下的命令:
wsgen -classpath . jaxwsserver.SeManager
会在包jaxwsserver.jaxws下生成Greetings.class和GreetingsResponse.class两个类文件。至于内容就不关心它了,确保他们在classpath中就可以了。下面我们写一个小服务器来发布这个web服务:
package jaxwsserver;
import javax.xml.ws.Endpoint;
public class Server {
public static void main(String[] args){
Endpoint.publish("http://localhost:9090/se", new SeManager());
}
}
运行这个Server类然后再浏览器中访问http://localhost:9090/se?wsdl这个地址看看WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.1 in JDK 6. -->
<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.1 in JDK 6. -->
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://jaxwsserver/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://jaxwsserver/" name="SeManagerService">
<types>
<xsd:schema>
<xsd:import namespace="http://jaxwsserver/" schemaLocation="http://localhost:9090/se?xsd=1"/>
</xsd:schema>
</types>
<message name="greetings">
<part name="parameters" element="tns:greetings"/>
</message>
<message name="greetingsResponse">
<part name="parameters" element="tns:greetingsResponse"/>
</message>
<portType name="SeManager">
<operation name="greetings">
<input message="tns:greetings"/>
<output message="tns:greetingsResponse"/>
</operation>
</portType>
<binding name="SeManagerPortBinding" type="tns:SeManager">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="greetings">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="SeManagerService">
<port name="SeManagerPort" binding="tns:SeManagerPortBinding">
<soap:address location="http://localhost:9090/se"/>
</port>
</service>
</definitions>
看到以上的结果就说明服务发布成功了。是不是很简单呢?
分享到:
相关推荐
**使用JAX-WS快速发布Web Service** JAX-WS(Java API for XML Web Services)是Java平台上的标准,用于创建和消费Web服务。它简化了Web服务的开发过程,使得开发者无需深入理解底层的SOAP协议和WSDL(Web Services...
Wsdl(webservice使用说明书)重点掌握 Soap(jaxws开发webservice的传输协议)重点掌握 UDDI(了解) Webservice的使用场景分析(掌握) 学会jaxws基本开发方法(重点) Soap1.1和soap1.2区别: 跟踪soap协议 ...
1. **06_webservice_user_server**: 这是服务器端项目,包含了服务的实现和发布。在这里,开发者会定义服务接口和实现,使用JAX-WS工具生成服务部署描述符(WSDL),并部署到应用服务器上。服务可以通过`@WebService...
4. 服务发布:通过使用JAX-WS提供的工具,如Metro或Apache CXF,将服务部署到应用服务器上,使它可供远程调用。 【客户端调用】 对于客户端,JAX-WS提供了生成代理类的方式,以便于调用Web服务: 1. 服务发现:...
标题中提到的"jaxws java webservice需要的jar包"是指在开发基于JAX-WS的Web服务时,开发者需要导入的库文件。通常,这些jar包包括以下关键组件: 1. **javax.xml.ws-api.jar**:这是JAX-WS规范的API接口定义,包含...
maven 下载jaxws-rt 2.1.4 jar 失败了 其中包含包 ...javax.xml.ws jaxws-api 2.1 org.jvnet.staxex stax-ex 1.2 org.jvnet mimepull 1.2 做java webservice时缺少这些包 好不容易下载下来 备份csdn
首先,"5-采用CXF框架发布webservice.avi"这个视频很可能详细介绍了使用CXF的基本步骤。发布一个Web服务通常包括以下过程: 1. **环境准备**:确保你的开发环境中已经安装了Java SDK和Maven或Gradle等构建工具,...
本文将深入探讨如何使用Spring和CXF来发布WebService服务。 首先,Spring是一个开源的Java平台,它提供了全面的编程和配置模型,用于简化企业级应用的开发。Spring框架的核心特性包括依赖注入、面向切面编程(AOP)...
本教程“5天学会jaxws-webservice编程”旨在帮助你快速掌握JAX-WS的核心概念和技术,以便在短短五天内能够熟练地运用到实际项目中。 首先,我们需要了解Web服务的基础。Web服务基于开放标准,如SOAP(Simple Object...
MyEclipse8_0中使用 JAX-WS 部署 WebService 实例 - 外衣 - 博客频道 - CSDN_NET.mht
JAXWS开发规范,webservice参考实现,附带样例和API,与CXF。
jaxws入门经典,含有循序渐进的例子,非常详细,看完后就会用jaxws接口开发webservice
在本场景中,"开发基于JWS的webservice并通过jun-jaxws发布所需的jar包"指的是利用Java API for XML Web Services (JAX-WS) 的一个实现——Sun JAX-WS(也称为Metro)来创建、部署和运行Web服务。Sun JAX-WS是Oracle...
jaxws-rt-2.2.8.jar java webservice依赖包 在Tomcat中发布webservice时所用到
webservie发布所需要的包 @WebService public class JwsServiceHello { public String greeting(String name){ return "Welcome " + name; }
webservice中用到的jar,xfire-jaxws-1.2.6.jar,xfire-jaxws-1.2.6.jar,xfire-jaxws-1.2.6.jar
【标题】"jws与spring发布WebService"涉及的是在Java Web Service(JWS)和Spring框架结合下,如何创建和部署Web服务。Web服务是一种基于网络的、平台无关的交互方式,它允许不同系统间的应用进行数据交换。JWS是...
5. **发布WebService**:在Spring中,可以使用`<jaxws:endpoint>`标签来配置并发布CXF服务,该标签包含了服务的实现类、地址、绑定等信息。通过Spring的ApplicationContext,服务会被自动加载并启动。 6. **消费...
<artifactId>cxf-spring-boot-starter-jaxws <version>3.4.4 ``` 接下来,创建一个简单的Java接口,作为我们的Web服务接口。例如: ```java import javax.jws.WebService; import javax.jws.soap.SOAPBinding...
- 可以选择是否使用 `jaxws:client` 标签,这取决于具体需求。 5. **发布:** - 部署至服务器后,可以通过 URL 访问服务。 #### 三、XFire 方式 ##### 3.1 简介 XFire 是一种较早出现的 WebService 实现框架,...