- 浏览: 1510328 次
- 性别:
- 来自: 深圳
-
文章分类
- 全部博客 (798)
- struts2 (42)
- servlet (20)
- quartz (4)
- jquery & ajax (24)
- tomcat (5)
- javascript (15)
- struts1 (8)
- 搜索关键字及链接 (3)
- fckeditor (3)
- Apache (5)
- spring (22)
- linux (3)
- 企业应用 (8)
- 综合应用 (13)
- 服务器 (2)
- 数据库 (85)
- 性能调优 (21)
- 网络应用 (15)
- 缓存技术 (8)
- 设计模式 (39)
- 面试题 (7)
- 程序人生&前辈程序员 (29)
- java基础 (59)
- hibernate (75)
- log4j (4)
- http (11)
- 架构设计 (28)
- 网页设计 (12)
- java邮件 (4)
- 相关工具 (11)
- ognl (7)
- 工作笔记 (18)
- 知识面扩展 (12)
- oracle异常 (1)
- 正则表达式 (2)
- java异常 (5)
- 项目实践&管理 (1)
- 专业术语 (11)
- 网站参考 (1)
- 论坛话题 (2)
- web应用 (11)
- cxf&webservice (22)
- freemarker (3)
- 开源项目 (9)
- eos (1)
- ibatis (6)
- 自定义标签 (3)
- jsp (3)
- 内部非公开文档(注意:保存为草稿) (0)
- 国内外知名企业 (2)
- 网店 (3)
- 分页 (1)
- 消费者习惯 (2)
- 每日关注 (1)
- 商业信息 (18)
- 关注商业网站 (1)
- 生活常识 (3)
- 新闻 (2)
- xml&JSON (5)
- solaris (1)
- apache.common (3)
- BLOB/CLOB (1)
- lucene (2)
- JMS (14)
- 社会进程 (8)
- SSH扩展 (2)
- 消费心理 (1)
- 珠三角 (1)
- 设计文档 (1)
- XWork&webwork (1)
- 软件工程 (3)
- 数据库及链接 (1)
- RMI (2)
- 国内外知名企业&人物 (1)
最新评论
-
司c马:
简介易懂、
OutputStream和InputStream的区别 -
在世界的中心呼喚愛:
解决我的问题
Java获取客户端的真实IP地址 -
bo_hai:
都是些基本的概念呀!
SSO -
tian_4238:
哥们,你也是搞水利这块的吧。
巧用SQLQuery中的addScalar -
loveEVERYday:
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
即时发布与定制发布
Axis开发WS应用有两种发布方案:即时发布与定制发布。
1、即时发布:开发这类服务时,只用编写源码,不用编译。源码一般放在项目的根目录下,扩展名改为jws即可。访问时通过完整路径(包括jws扩展名)直接访问该文件。访问时容器会对该服务类源码进行实时编译,编译后的文件放在生成的/WEB-INF/jwsClass目录下。 需要注意的是,即时发布的服务类不能有包名。为什么呢?因为jws文件也可以放在/项目名/aaa/目录下,因此可以通过http://localhost:8080/ 项目名/aaa/xxx.jws访问该服务,而此时实时编译的class文件放在jwsClass/aaa下,如果jws服务类带有包名,那么实时编译时容器会混淆“目录”和“包”。
2、定制发布:java类允许有包名。第一次发布时需要借助客户端的WSDD(Web Service Deploy Description)文件,该文件可以放在客户端项目的任意目录下,然后用Adming Client命令将WSDD文件上传给服务器(如果是myeclispe这样的IDE,可以利用工具调用AdminClient类的main方法)第一次发布后便会在服务端的/WEB-INF目录下自动生成一个server-config.wsdd文件,以后即使客户端的wsdd文件被删除了也可以(不知道是不是个bug,毕竟只有第一次需要,还是作为服务端的初始化??)。 需要明白的是,即时WS项目部署到了tomcat这样的web容器上,也不意味着就对外发布了WS服务。此外,通过地址访问服务时,需要在公开的服务名称之前加services/,当然也可以在配置文件中更改,不过一般没这个必要。 类似一般web应用,WS应用也有“范围”的概念,不过只有session和application两种;WS应用中的Handler则类似web应用的filter机制。 默认情况下axis服务器只能接受本机的管理请求。如需远程访问的话,需要修改Server-config.wsdd文件: <parameter name="enableRemoteAdmin" value="true"></parameter>
wsdl文档与java对象
Axis用三种方式支持WSDL:url+?wsdl方式获得自动生成的wsdl文档;
wsdlL2java工具能够通过wsdl文档生成java客户端存根和服务器端骨架;
java2wsdl工具可以通过java构建wsdl文档。
重点说说后面两种: 1、wsdlL2java:根据wsdl文档生成java对象。(1)客户端:run config-->project-->main(org.apache.axis.wsdl.WSDL2Java)-->arguments(http://localhost:8888/webservice/services/CustomerService?wsdl)-->run!-->刷新project-->project根目录下自动生成了基于pojo类、url信息和map数据的三个包,包最下层是WSDL2Java自动生成的java对象源码。当然也可以用命令指定生成的源码安放的路径和包名:http://localhost:8888/webservice/services/CustomerService?wsdl -v -p cn.itcast.axis.client.wsdl2java.customer -o src。同时还会自动生成deploy.wsdd和undeploy.wsdd文件。 生成的源码中,stub对象是wsdl2java生成的静态代理;静态代理类其实就是对动态代理的封装,用的类是完全一样的(Service/Call等),但是不用写地址和操作名了,通过静态代理(因为地址和操作名已经封装在本地了),就可以像访问本地类一样访问远程方法。XXXSOAPBindingSkeleton、XXXSOAPBindingImple是用命令“--server-side --skeletonDeploy true”生成的服务器端的骨架类,这时,wsdd文档中发布的服务是XXXSOAPBindingSkeleton;不过一般情况下,在客户端调用时不需要服务端的骨架,所以“--skeletonDeploy true”参数可以不用,这时就不会生成AddressBookSOAPBindingSkeleton,而wsdd文档中部署的是AddressBookSOAPBindingImpl,可以在这个服务类里实现业务逻辑。
(2)服务端:将客户端自动生成的包copy到服务端src目录下,因为XXXSOAPBindingStub、XXXServiceLocator和Service是服务于客户端的,在服务端可以删除这三个文件,deploy.wsdd和undeploy.wsdd也是客户端才用的,也都不需要。将客户端的服务发布到WS以后,XXXSOAPBindingImple也可以删除,因为XXXSOAPBindingImple服务已经上传到服务端了。 2、java2wsdl:通过java构建wsdl文档。通常情况下,双方合作,一般先写接口构建业务体系,然后就可以进行其他工作,因为接口已经包含了业务签名,而具体的业务逻辑实现可以后期再写;此时可以通过接口生成wsdl文档,再通过文档生成实现类和骨架存根(关于骨架存根,请参见前文《ejb3(2)》),再在Impl里写具体实现。一般应用过程如下:编写业务接口-->java2wsdl-->wsdl2java-->编写接口实现(业务逻辑)-->用wsdl2java生成的deploy.wsdd部署(对外发布)-->将编写完的wsdl2java生成的实现copy到服务端,删除不需要的部分。
发表评论
-
J2EE关于ApacheAxis2的Webservice消息
2011-09-19 20:18 1611到目前为止,web service ... -
Axis Web Service开发之旅 (十) --异步调用WebService
2011-09-19 19:52 2981http://blog.csdn.net/crazystone ... -
《精通JAVA核心技术》-21.6 web服务开发
2011-07-18 10:06 1233详细的描述了使用axis开发web服务。 -
联通接口.doc
2011-07-14 09:44 1212联通接口.doc -
联通接口
2011-07-14 09:34 1联通接口 -
传智播客-web service(8)-利用xfire开发WS应用
2011-07-03 11:45 1987xfire概述 xfire是下一代j ... -
传智播客-web service(7)-序列化与反序列化、文件上传与下载
2011-07-03 11:44 2589序列化与反序列化 WS中 ... -
传智播客-web service(5)-利用axis开发WS应用
2011-07-03 11:41 1705Axis 1、再说soap。 前文 ... -
传智播客-web service(4)-利用jdk6开发WS应用
2011-07-03 11:40 2791java开发web service最简单 ... -
传智播客-web service(3)-web service与SOA、web service与ejb
2011-07-03 11:39 1700Web Service与SOA web servic ... -
传智播客-web service(1)-B/S、C/S与远程调用
2011-07-03 11:38 2036web service是徐培成老师 ... -
传智播客-web service(2)-ESB、SOAP和WSDL
2011-07-03 11:36 1745ESBESB,Enterprise Service Bus ... -
Web服务搜索与执行引擎(七)——重温WSDL与SOAP
2011-06-29 14:50 1814接下来的几篇文章是让 ... -
调用天气预报Web Service客户端
2011-06-29 10:27 3572(结合JAVA的WebService支持.pdf进行理解) ... -
官方例子及相关文章
2011-06-28 17:26 1284http://www.stevencharlesrobinso ... -
Jaxb 通过bean与xml交互
2011-06-28 16:05 2032package test; import java.io.F ... -
使用 JAXB 框架定制 Web 服务行为
2011-06-28 15:38 1924http://www.ibm.com/developerwor ... -
webservice_张孝祥
2011-06-22 14:13 5webservice_张孝祥.rar -
常用Web Service汇总(天气预报、时刻表等)
2011-06-21 11:51 1343下面总结了一些常用的Web Service,是平时乱逛时收 ... -
webservice---HelloWorld
2010-11-18 15:42 1317服务器端: 1、下载附件中的HelloWorld.rar,在 ...
相关推荐
总结,Java解析WSDL文档获取具体的方法与参数涉及的主要知识点包括:XML解析(DOM)、JAX-WS框架、`javax.xml.ws.Service`类的使用,以及如何基于WSDL生成服务客户端代码。理解这些概念,将有助于开发和消费Web服务...
在Java开发中,有时我们需要与Web服务进行交互,这时候就需要用到WSDL(Web Services Description Language)文档。WSDL是一种XML格式,它定义了服务的位置、接口以及如何调用这些服务。本文将深入探讨如何使用Java...
本篇文章将深入探讨使用Java6开发支持HTTPS的Web Service,以及如何发布其WSDL(Web Service Description Language)地址。 首先,让我们了解Web Service的基本概念。Web服务是一种基于网络的、平台无关的接口,它...
6. **WSDL的结构与元素**:理解WSDL文件的结构至关重要,其中包括`<wsdl:types>`定义数据类型,`<wsdl:message>`定义通信消息,`<wsdl:portType>`定义服务接口,`<wsdl:binding>`定义通信方式,以及`<wsdl:service>`...
在Web服务的世界中,`WSDL`(Web Service Description Language)是一种XML格式的规范,用于定义服务接口、操作、消息结构等,使得服务消费者能够理解如何与服务进行交互。而`WSDL2Java`工具正是基于这样的需求...
本话题主要聚焦于如何使用Java6开发Web Service,并将其部署为支持HTTPS的WSDL(Web Service Description Language)地址,以及如何将整个服务打包成可执行的JAR程序。 首先,我们需要理解Java6中的JAX-WS(Java ...
Java2WSDL 和 WSDL2Java 是两种常用的 Web 服务开发工具,分别用于将 Java 类转换为 WSDL 文件和将 WSDL 文件转换为 Java 代码。在本文中,我们将详细介绍 Java2WSDL 和 WSDL2Java 的使用方法和参数设置。 Java2...
当Java应用需要与一个以WSDL发布的Web服务交互时,它通常会使用一种名为“SOAP”(简单对象访问协议)的协议来发送和接收消息。 1. 使用Apache Axis调用远程Web服务 Apache Axis是一个流行的Java库,它允许开发者...
本教程将围绕“WSDL生成Web Service java客户端”这一主题,详细介绍如何利用WSDL文件创建Java客户端来调用Web服务。 首先,WSDL文件是一种XML格式的文档,它描述了一个Web服务的接口,包括服务提供的操作、消息...
在Web服务开发中,WSDL(Web Service Description Language)是一种XML格式,用于定义服务接口、操作、消息结构等。它使得服务提供者和服务消费者可以进行互操作。Apache Axis是Java平台上的一个开源Web服务框架,...
即时发布是指在开发环境中直接将 Web Service 部署到服务器上的过程。即时发布使得开发者可以快速地部署和测试 Web Service。 2.2.2 定制发布(WSDD) 定制发布是指根据具体的需求和环境来定制 Web Service 的部署...
Java 调用 WSDL 例子是指使用 Java 语言来调用远程的 Web 服务,该 Web 服务是通过 WSDL 文件发布的。在 WSDL 文件中,包含了该 Web 服务暴露在外面的接口信息。 WSDL 文件是 Web 服务描述语言的缩写,用于描述 Web...
这样,开发者无需手动编写调用Web服务的Java代码,只需导入WSDL文件,MyEclipse就能自动生成相应的Java客户端 stub类,这些类提供了与Web服务交互的方法。 具体步骤如下: 1. 打开MyEclipse,创建一个新的Web项目...
本手册覆盖了Web Service的基本概念,包括SOAP(简单对象访问协议)、WSDL(Web服务描述语言)和UDDI(统一描述、发现和集成)等核心组件。同时,深入探讨了Axis2和CXF的特性、优缺点以及使用场景。 ### 3. 参考...
【标题】"wsdl2java_jar.zip" 是一个压缩包,其中包含了用于将WSDL(Web服务描述语言)文件转换为Java代码的必要库。这个过程通常在开发基于Java的Web服务客户端时进行,以便能够调用远程Web服务。 【描述】提到,...
在Java编程中,调用以WSDL(Web Service Description Language)形式发布的Web服务是一项常见的任务。WSDL是一种XML格式的规范,它定义了服务的位置、服务提供的操作以及如何调用这些操作。本篇将深入讲解如何使用...
在本实例中,我们将探讨如何使用Java和WSDL来创建和调用Web Service。 一、创建Web Service 1. 定义WSDL文件:首先,你需要创建一个WSDL文件来描述你的服务。WSDL文件定义了服务的端点(也称为SOAP地址),服务的...
为了在Java环境中与这些Web服务交互,我们需要将WSDL文件转换为Java类,这就是`wsdl2java`工具的作用。 `wsdl2java`是Apache Axis项目的一部分,它是一个强大的工具,可以自动生成Java客户端和服务端代码,这些代码...
- **跨语言交互**:虽然本文主要介绍的是Java环境下的应用,但WSDL是跨平台的,生成的Java代码可以与不同语言实现的Web服务进行交互。 总结,`wsdl2java`工具是Web服务开发中的得力助手,它简化了基于WSDL的Java...