- 浏览: 1504507 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 1603到目前为止,web service ... -
Axis Web Service开发之旅 (十) --异步调用WebService
2011-09-19 19:52 2974http://blog.csdn.net/crazystone ... -
《精通JAVA核心技术》-21.6 web服务开发
2011-07-18 10:06 1228详细的描述了使用axis开发web服务。 -
联通接口.doc
2011-07-14 09:44 1164联通接口.doc -
联通接口
2011-07-14 09:34 1联通接口 -
传智播客-web service(8)-利用xfire开发WS应用
2011-07-03 11:45 1978xfire概述 xfire是下一代j ... -
传智播客-web service(7)-序列化与反序列化、文件上传与下载
2011-07-03 11:44 2577序列化与反序列化 WS中 ... -
传智播客-web service(5)-利用axis开发WS应用
2011-07-03 11:41 1695Axis 1、再说soap。 前文 ... -
传智播客-web service(4)-利用jdk6开发WS应用
2011-07-03 11:40 2785java开发web service最简单 ... -
传智播客-web service(3)-web service与SOA、web service与ejb
2011-07-03 11:39 1695Web Service与SOA web servic ... -
传智播客-web service(1)-B/S、C/S与远程调用
2011-07-03 11:38 2021web service是徐培成老师 ... -
传智播客-web service(2)-ESB、SOAP和WSDL
2011-07-03 11:36 1734ESBESB,Enterprise Service Bus ... -
Web服务搜索与执行引擎(七)——重温WSDL与SOAP
2011-06-29 14:50 1806接下来的几篇文章是让 ... -
调用天气预报Web Service客户端
2011-06-29 10:27 3565(结合JAVA的WebService支持.pdf进行理解) ... -
官方例子及相关文章
2011-06-28 17:26 1278http://www.stevencharlesrobinso ... -
Jaxb 通过bean与xml交互
2011-06-28 16:05 2026package test; import java.io.F ... -
使用 JAXB 框架定制 Web 服务行为
2011-06-28 15:38 1919http://www.ibm.com/developerwor ... -
webservice_张孝祥
2011-06-22 14:13 5webservice_张孝祥.rar -
常用Web Service汇总(天气预报、时刻表等)
2011-06-21 11:51 1334下面总结了一些常用的Web Service,是平时乱逛时收 ... -
webservice---HelloWorld
2010-11-18 15:42 1301服务器端: 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 的部署...
标题:"Web Service描述语言 WSDL 详解.pdf" 描述:"Web Service描述语言 WSDL 详解.pdf" 标签:"service web wsdl" 部分内容:Web Service描述语言(WSDL)向这种WebService的提供商和用户推出了方便的协调工作的...
这样,开发者无需手动编写调用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环境下的应用,但WSDL是跨平台的,生成的Java代码可以与不同语言实现的Web服务进行交互。 总结,`wsdl2java`工具是Web服务开发中的得力助手,它简化了基于WSDL的Java...
WSDL经常与简单对象访问协议(SOAP)一起使用,SOAP是一种基于XML的协议,用于在Web服务中发送结构化和类型化的信息。WSDL描述了服务如何通过SOAP进行通信,包括SOAP消息的结构和使用哪种HTTP方法(如POST)。 **3....