- 浏览: 1222654 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (883)
- Spring (101)
- Swing (1)
- Mysql (21)
- Js (59)
- Jsp (2)
- Hibernate (19)
- Myeclipse (5)
- SqlServer 2000 (2)
- poi (15)
- Java (70)
- SSH (12)
- Html (47)
- Fusion Charts (1)
- C\C++ (2)
- 汇编 (36)
- Jquery (37)
- Struts2 (6)
- Ubuntu (16)
- powerDesinger (4)
- Jboss (3)
- JAX-RS (13)
- JAXB (5)
- JAX-WS (11)
- JMS (4)
- WebSocket (8)
- PHP (16)
- Flash (1)
- maven (3)
- Oracle (8)
- HttpClient (6)
- sqlserver (19)
- svn (5)
- Tomcat (3)
- Jdbc (3)
- EsayUi (11)
- 微信公众平台 (19)
- IIS (2)
- Freemarker (11)
- Comet (1)
- Spring MVC (85)
- JBoss Seam (3)
- 二维码 (9)
- Spring Security (4)
- Ehcache (3)
- Apache Shiro (7)
- jackson (16)
- JPA (8)
- jcaptcha (2)
- RSA (2)
- Ajax (6)
- 跟我学Shiro (0)
- Spring4 (19)
- 跟我学spring3 (0)
- css (32)
- excel (4)
- Filter (3)
- 微信公众帐号开发教程 (0)
- Android (6)
- log4j (6)
- 淘宝接口 (17)
- 支付集成 (3)
- 单点登录 (3)
- Html5 (27)
- 移动平台前端 (3)
- Linux (44)
- FusionCharts (27)
- Json Jackson Xml (5)
- 方培工作室-微信开发 (0)
- Apache与Tomcat与IIS整合 (10)
- Nginx (17)
- webService (2)
- apache (4)
- lucene (3)
- lodop (2)
- Shiro (3)
- zTree (2)
- ireport (12)
- Servlet3.0 (5)
- 前端美工 (19)
- AngularJS (1)
- C#开发微信门户及应用 (0)
- Shell (3)
- bat脚本 (16)
- Bootstrap (26)
- Less (10)
- photoshop (6)
- Redis (6)
- Mongodb (10)
- MyBatis (3)
- 数据结构 (0)
- 读写分离-主从复制 (0)
- JFinal (0)
- 百度地图api (3)
- hadoop-hbase-hive-spark (3)
- WebStorm (2)
- Quartz (5)
- ios (0)
- Mina (8)
- Android Studio (4)
- Ratchet教程 (0)
- 移动端重构系列 (1)
- cubic-bezier贝塞尔曲线CSS3动画工具 (1)
- nginx+tomcat+memcached集群 (0)
- 集群 (0)
- ZooKeeper (3)
- Dubbo (0)
- vpn (0)
- kafka (0)
- JVM垃圾回收机制 (0)
- 微信小程序 (0)
- Lua (0)
- Hystrix (0)
- Vue.js (0)
- mycat (0)
- Openresty (0)
- springBoot (0)
- 新分类 (0)
- guava (0)
- 大数据 (0)
- Sentinel (0)
最新评论
-
JackMacing:
中文怎么解决?
SpringMVC与iReport(JasperReports) 5.6整合开发实例 -
18335864773:
用pageoffice把.可以实现在线的文档操作.直接转pdf ...
转:使用jasperreport动态生成pdf,excel,html -
linhao0907:
推荐一款轻量开源的支付宝组件:https://github.c ...
关于Alipay支付宝接口(Java版) -
songronghu:
太好了,非常有用,谢谢分享~
Java ConcurrentModificationException 异常分析与解决方案 -
wzwahl36:
http://www.atool.org/json2javab ...
Java下利用Jackson进行JSON解析和序列化
在之前的介绍里,web service的发布都是通过调用:
方法来启动一个java内嵌的web容器来实现的。
这里要介绍一下怎么把生成的web service部署到一个web容器中去。
还是以之前的计算器的例子为例。首先我们用wsgen工具去生成部署所需要的所有部件:
运行此命令时,我得到了一个错误信息:
- The @javax.jws.WebService.name element cannot be used in with @javax.jws.WebService.endpointInterface element
意思是 name 属性和 endpointInterface 属性不能同时出现,只好把CalculatorImpl里的name属性先删除,回头查一下为什么会有这个错误。
运行完上面命令行后,我们就得到一些新文件:
- CalculatorImplService.wsdl
- CalculatorImplService_schema1.xsd
- Add.java
- AddResponse.java
- Multi.java
- MultiResponse.java
把他们拷到工程里去先,其中:
- 所有的java文件和到源码里去
- 新建一个wsdl目录,把wsdl文件和xsd文件放到此目录中去。
剩下的就是怎么提供一个web.xml了,使得对url的访问能被我们的web service实现类处理请求了。
下载:
以前一直都是基于JDK自带的api来实现的,下面就需要用到一些jax-ws提供的lib包了。所以需要先去下一份jax-ws的实现,例如我当前使用的2.2.5的下载地址是:
实现方式:
sun的jax-ws实现提供了两个类用来配置web容器的web.xml,实现从url到web service实现类的映射:
- 监听类:com.sun.xml.ws.transport.http.servlet.WSServletContextListener
- Servlet: com.sun.xml.ws.transport.http.servlet.WSServlet
其中WSServletContextListener又会去查找和web.xml在同一级目录下的另一个文件sun-jaxws.xml,整个过程的流程图大约为:
sun-jaxws.xml文件的schema可以在下载的jax-ws RI的docs目录下找着(sun-jaxws.xsd)。
这里直接给出calculator的web.xml和sun-jaxws.xml的一个实现:
- <?xml version="1.0" encoding="UTF-8"?>
- <endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
- version="2.0">
- <endpoint name="calculator" implementation="test.CalculatorImpl"
- url-pattern="/calculator" />
- </endpoints>
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE web-app PUBLIC "-//Sun Microsystems,
- Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
- <web-app>
- <listener>
- <listener-class>
- com.sun.xml.ws.transport.http.servlet.WSServletContextListener
- </listener-class>
- </listener>
- <servlet>
- <servlet-name>calculator</servlet-name>
- <servlet-class>
- com.sun.xml.ws.transport.http.servlet.WSServlet
- </servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>calculator</servlet-name>
- <url-pattern>/calculator</url-pattern>
- </servlet-mapping>
- <session-config>
- <session-timeout>120</session-timeout>
- </session-config>
- </web-app>
按照上面的流程图就可以很清楚的理解了:
在初始化期间,WSServletContextListener会读取WEB-INF目录下的 sun-jaxws.xml和web.xml,将web service的实现类与某个url进行绑定,这个绑定是通过一个WSServlet类间接进行的。每次来一个请求后,WSServletContextListener就会进行拦截,根据请求的url,找到对应的web service的实现,调用其他方法。
依赖包
很显然,诸如 WSServletContextListener 和 WSServlet 类并不是java缺省自带的。这些类在下载的jax-ws RI的lib目录下的jar里,所以要想真正成功的运行这些web service,我们也需要把必需的依赖包加上,它们包括:
- gmbal-api-only.jar
- ha-api.jar
- jaxb-impl.jar
- jaxws-api.jar
- jaxws-rt.jar
- management-api.jar
- policy.jar
- stax-ex.jar
- streambuffer.jar
打包
打包就不具体介绍了,总之包的结构如下:
参考:http://www.mkyong.com/webservices/jax-ws/deploy-jax-ws-web-services-on-tomcat/
发表评论
-
Spring 3, Spring Web Services 2 & LDAP Security
2014-09-12 09:09 1621This year started on a good n ... -
Chapter 7. Securing your Web services with Spring-WS
2014-09-12 09:09 1874Chapter 7. Secur ... -
Spring的WebServiceTemplate访问WebService的方法及其本质原理
2014-09-02 11:12 922WebService客户端调用的本质就是将SAOP格式的XM ... -
WebService服务端开发
2014-09-02 11:05 1453概述 BDF中WebService模 ... -
JAX-WS开发webservice示例详解
2014-09-02 10:44 1772目录: 概述 实验环境 服务端的实现 客户端 ... -
Spring Webservice实现过程
2013-12-02 11:31 10771、创建service接口 package com. ... -
JAX-WS 学习三:进阶二(binding style和wsgen)
2012-09-13 18:36 639一、指定使用的Style和Use Wsdl中soa ... -
JAX-WS 学习三:进阶一(wsimport和TCP/IP monitor)
2012-09-12 22:37 765前两节中简单的介绍了一下基本的JAX-WS API的使用, ... -
JAX-WS 学习二:创建客户端
2012-09-12 22:37 645上一节中介绍了怎么基于JAX-WS的API创建服务端,这一节介 ... -
JAX-WS 学习一:创建服务接口
2012-09-12 22:37 595Java1.6中自带了JAX-WS API,使得我们可以很方便 ...
相关推荐
通过学习和实践JAX-WS 2.1用户指南,开发者将能够熟练掌握Web服务的开发、部署和消费,提升其在分布式系统中的应用能力。同时,了解JAX-WS 2.1也将有助于理解后续版本(如JAX-WS 2.2)的新特性。
"jax-ws基于web容器发布webServer" 这个标题指的是使用Java API for XML Web Services (JAX-WS)技术在Web容器(如Tomcat、Jetty等)中部署和运行Web服务的过程。JAX-WS是Java平台上的标准,用于创建和消费SOAP...
部署Web服务到Web容器(如Tomcat 6.0)或EJB容器(如GlassFish v2),并在不同客户端应用程序中使用它们: 1. **Java SE应用程序中的Java类**:通过调用Web服务的客户端Stubs(通常由IDE自动生成)来调用服务。 2. ...
在Java EE环境中,JAX-WS通常与Servlet容器(如Tomcat或Glassfish)一起使用,通过部署包含Web服务的WAR(Web Application Archive)文件来实现服务的发布。同时,开发者也可以使用IDE(如Eclipse或IntelliJ IDEA)...
JAX-WS是Java平台上用于创建Web服务的标准API,它简化了开发和部署基于SOAP(Simple Object Access Protocol)的Web服务和客户端应用程序的过程。 **描述分析:** 描述提到“tomcat+webservice实现简单的web服务...
Java API for XML Web Services (JAX-WS) 是Java平台上的一个标准,用于构建和部署Web服务。JAX-WS RI(Reference Implementation)是这个规范的官方参考实现,它提供了开发、测试和运行基于SOAP(Simple Object ...
**JAX-WS** 是一种用于构建和部署Web服务的标准API,它使用SOAP(Simple Object Access Protocol)协议进行通信。通过JAX-WS,开发者可以方便地创建服务端点(SEI,Service Endpoint Interface)并将其暴露为Web服务...
- **JAX-WS RI(Reference Implementation)**:JAX-WS 2.2的参考实现,包括了所有必需的库文件,例如`jax-ws-ri-2.2`这个压缩包中的内容,使得开发者可以直接在没有Web服务器支持的环境中使用JAX-WS。 使用JAX-WS ...
4. **部署Web服务** 使用JAX-WS,可以通过简单的XML配置文件(如`sun-jaxws.xml`)来部署服务。这个配置文件通常放在服务类的同一目录下,指示服务器在哪里找到服务实现以及如何绑定到网络端点(即服务地址)。 5....
在使用"jaxws-ri2.3"包时,开发者可以根据项目需求,将这些库添加到构建路径或者类路径中,然后就可以开始编写和部署JAX-WS 2.3的Web服务了。同时,对于客户端开发,可以利用`wsimport`工具自动生成客户端代码,简化...
5. **部署和测试**:将应用部署到支持Servlet 3.0以上的Web容器,如Tomcat,然后通过HTTP客户端或浏览器直接访问URL来测试服务。 在提供的文件中,"jax-ws-webService创建soap类型的webservice.docx"应该包含了详细...
- **在Web应用程序中发布**:将Web服务作为Web应用的一部分部署到Servlet容器中。 #### 四、创建WebService客户端 - **同步调用方式** - **开发步骤**:类似地使用`wsimport`工具生成客户端代码,然后编写调用逻辑...
本教程将详细介绍如何在Myeclipse 8.5中使用JAX-WS开发和部署Web服务。 首先,我们需要理解Web服务的基础概念,包括WSDL(Web Services Description Language)、SOAP(Simple Object Access Protocol)以及XML...
`SOAP` Web服务通常基于`WSDL`(Web服务描述语言)进行定义,而`JAX-WS`(Java API for XML Web Services)则是Java平台上的标准框架,用于处理`SOAP`消息并构建`SOAP` Web服务。本篇文章将详细介绍`JAX-WS`以及在...
完成以上配置后,我们可以构建并部署Web服务。在Java应用服务器(如Tomcat)中部署包含上述组件的WAR文件,然后可以通过指定的URL(例如:http://localhost:8080/your-app/hello)访问Web服务。 总结: 本示例展示...
在Java世界中,JAX-WS(Java API for XML Web Services)是用于构建和部署Web服务的标准API,它简化了服务端开发流程,使得开发者可以方便地创建SOAP(Simple Object Access Protocol)服务。为了搭建一个JAX-WS...
- 可能需要额外的部署描述文件,如 `web.xml` 或者容器特定的配置文件。 **2.3.2 在 Web 应用程序中发布**: - **2.3.2.1 依赖包**:通常需要将 JAX-WS 的库文件添加到项目的 classpath 中。 - **2.3.2.2 发布步骤...
在本教程中,我们将深入探讨如何在MyEclipse 6.5版本中使用JAX-WS(Java API for XML Web Services)技术开发Web服务。这是一个非常实用的指南,旨在帮助开发者快速掌握Webservice的创建、部署和测试过程,特别适合...
部署JAX-WS服务到Tomcat通常涉及到配置Web应用的web.xml文件,并将服务类打包成WAR文件。 4. **基于注解的开发**:JAX-WS允许开发者使用如`@WebService`、`@SOAPBinding`、`@WebMethod`等注解来声明服务接口和服务...
JAX-WS(Java API for XML Web Services)是Java平台上的一个标准,用于构建和部署Web服务。JAX-RI(Java API for XML Web Services Reference Implementation)是这个规范的一个参考实现,它为开发者提供了一个完整...