`
yanhua
  • 浏览: 88684 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

使用JAXWS快速发布WebService

阅读更多

说起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>

 

看到以上的结果就说明服务发布成功了。是不是很简单呢?

 

7
1
分享到:
评论
3 楼 diggywang 2009-03-10  
jaxws是目前我使用到的最方便的Webservice发布方式,aixs, aixs2, xfire还要复杂的多
2 楼 linginfanta 2009-03-09  
好复杂!                     
1 楼 Gavin.Chen 2009-03-06  
再深入点就不是那么一回事了,现在什么事情都是工具帮你做了,但一旦出错你就不知往哪找了,我只能说,Web Service相关技术还不完善

相关推荐

    使用jaxws快速发布WebService

    **使用JAX-WS快速发布Web Service** JAX-WS(Java API for XML Web Services)是Java平台上的标准,用于创建和消费Web服务。它简化了Web服务的开发过程,使得开发者无需深入理解底层的SOAP协议和WSDL(Web Services...

    Webservice笔记含使用cxf和jaxws两种方式开发webservice【源代码+笔记】

    Wsdl(webservice使用说明书)重点掌握 Soap(jaxws开发webservice的传输协议)重点掌握 UDDI(了解) Webservice的使用场景分析(掌握) 学会jaxws基本开发方法(重点) Soap1.1和soap1.2区别: 跟踪soap协议 ...

    基于jaxws-ri的webservice项目

    1. **06_webservice_user_server**: 这是服务器端项目,包含了服务的实现和发布。在这里,开发者会定义服务接口和实现,使用JAX-WS工具生成服务部署描述符(WSDL),并部署到应用服务器上。服务可以通过`@WebService...

    jaxws-webservice 的Demo

    4. 服务发布:通过使用JAX-WS提供的工具,如Metro或Apache CXF,将服务部署到应用服务器上,使它可供远程调用。 【客户端调用】 对于客户端,JAX-WS提供了生成代理类的方式,以便于调用Web服务: 1. 服务发现:...

    jaxws java webservice需要的jar包

    标题中提到的"jaxws java webservice需要的jar包"是指在开发基于JAX-WS的Web服务时,开发者需要导入的库文件。通常,这些jar包包括以下关键组件: 1. **javax.xml.ws-api.jar**:这是JAX-WS规范的API接口定义,包含...

    jaxws-rt 2.1.4 jar java webservice依赖包

    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

    CXF框架发布webservice

    首先,"5-采用CXF框架发布webservice.avi"这个视频很可能详细介绍了使用CXF的基本步骤。发布一个Web服务通常包括以下过程: 1. **环境准备**:确保你的开发环境中已经安装了Java SDK和Maven或Gradle等构建工具,...

    Spring+CXF 发布WebService服务

    本文将深入探讨如何使用Spring和CXF来发布WebService服务。 首先,Spring是一个开源的Java平台,它提供了全面的编程和配置模型,用于简化企业级应用的开发。Spring框架的核心特性包括依赖注入、面向切面编程(AOP)...

    5天学会jaxws-webservice编程

    本教程“5天学会jaxws-webservice编程”旨在帮助你快速掌握JAX-WS的核心概念和技术,以便在短短五天内能够熟练地运用到实际项目中。 首先,我们需要了解Web服务的基础。Web服务基于开放标准,如SOAP(Simple Object...

    MyEclipse8_0中使用 JAX-WS 部署 WebService 实例

    MyEclipse8_0中使用 JAX-WS 部署 WebService 实例 - 外衣 - 博客频道 - CSDN_NET.mht

    JAXWS webservice开发 参考实现 ,附源码

    JAXWS开发规范,webservice参考实现,附带样例和API,与CXF。

    jaxws入门经典

    jaxws入门经典,含有循序渐进的例子,非常详细,看完后就会用jaxws接口开发webservice

    开发基于JWS的webservice并通过jun-jaxws发布所需的jar包

    在本场景中,"开发基于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依赖包

    jaxws-rt-2.2.8.jar java webservice依赖包 在Tomcat中发布webservice时所用到

    jaxws ri 2.2.7包webservice所需要全部包

    webservie发布所需要的包 @WebService public class JwsServiceHello { public String greeting(String name){ return "Welcome " + name; }

    webservice中用到的jar,xfire-jaxws-1.2.6.jar

    webservice中用到的jar,xfire-jaxws-1.2.6.jar,xfire-jaxws-1.2.6.jar,xfire-jaxws-1.2.6.jar

    jws与spring发布WebService

    【标题】"jws与spring发布WebService"涉及的是在Java Web Service(JWS)和Spring框架结合下,如何创建和部署Web服务。Web服务是一种基于网络的、平台无关的交互方式,它允许不同系统间的应用进行数据交换。JWS是...

    cxf与spring发布WebService

    5. **发布WebService**:在Spring中,可以使用`&lt;jaxws:endpoint&gt;`标签来配置并发布CXF服务,该标签包含了服务的实现类、地址、绑定等信息。通过Spring的ApplicationContext,服务会被自动加载并启动。 6. **消费...

    springboot+CXF发布webservice接口

    &lt;artifactId&gt;cxf-spring-boot-starter-jaxws &lt;version&gt;3.4.4 ``` 接下来,创建一个简单的Java接口,作为我们的Web服务接口。例如: ```java import javax.jws.WebService; import javax.jws.soap.SOAPBinding...

    webservice发布及调用

    - 可以选择是否使用 `jaxws:client` 标签,这取决于具体需求。 5. **发布:** - 部署至服务器后,可以通过 URL 访问服务。 #### 三、XFire 方式 ##### 3.1 简介 XFire 是一种较早出现的 WebService 实现框架,...

Global site tag (gtag.js) - Google Analytics