- 浏览: 215833 次
- 性别:
- 来自: 辽宁
最新评论
-
bill200711022:
实测结果:就算把父类声明放在子类声明之后,也不会报错“Stri ...
PHP Strict Standards问题 -
congjl2002:
niuzk 写道我在office 2003下运行楼主的Exce ...
Java程序员的第一个VBA程序 -
Liv:
[i][/i]引用[img][/img][ ...
MyEclipse下部署Roller4.0 -
hyt5926:
神解决!!谢了.
Apache的443端口被占用解决方法 -
congjl2002:
ligongxiang 写道请问在JDK1.5上使用class ...
Oracle 10.2.0 最新的JDBC驱动ojdbc14.jar
Aapche Axis的Web Service Deployment Descriptor(WSDD)文件参考文档。
本部分介绍的所有的WSDD元素的名称空间都是"http://xml.apache.org/axis/wsdd/"。
<deployment>
告诉Axis Engine这是一个部署描述文件。一个部署描述文件可以表示一个完整的engine配置或者将要部署到一个活动active的一部分组件。
<GlobalConfiguration>
用于控制engine范围的配置。可以包含以下子元素:
· <role> : 设置一个SOAP actor/role URI,engine可以对它进行识别。这允许指向这个role的SOAP headers成功的被engine处理。任意数量.
· <requestFlow> : 全局的请求Handlers。在调用实际的服务之前调用.
· <responseFlow> : 全局响应Handlers,在调用完实际的服务后,还没有返回到客户端之前调用.
<requestFlow [name="name"] [type="type"] >
可以放置任意多个<handler> or <chain>在<requestFlow>中,但是可能只有一个<requestFlow>.
<responseFlow [name="name"] [type="type"] >
This is used to configure handlers in response flow. You may put any number of <handler> or <chain> elements (see below) inside the <responseFlow>, but there may only be one <responseFlow>.
<undeployment>
部署文档的根元素,用于指示Axis这是个卸载描述文件.
<handler [name="name"] type="type">
位于顶层元素<deployment> or <undeployment>, or inside a <chain>, <requestFlow>, or <responseFlow>. 用于定义Handler,并定义handler的类型。"Type" 可以是已经定义的Handler或者是"java:class.name"形式的QName。可选的"name"属性允许将这个Handler的定义在其他部署描述部分中引用。可以包含任意数量的<parameter name="name" value="value">元素.
<service name="name" provider="provider" >
部署/卸载一个Axis服务。这是最复杂的一个WSDD标签。
Options可能通过以下元素来指定: <parameter name="name" value="value"/>, 一些常用的包括:
· className : 后台实现的类
· allowedMethods : 每个provider可以决定那些方法允许web services访问
Axis支持的providers有如下几种:
Java RPC Provider (provider="java:RPC") 默认情况下所有的public方法都可以web service方式提供
Java MsgProvder (provider="java:MSG")
为了更进一步的限制上面的方法,allowedMethods选项用于指定一个以空格分隔的方法名,只有这些方法可以通过web service访问。也可以将这个值指定为”*”表示所有的方法都可以访问。同时operation元素用来更进一步的定义被提供的方法,但是它不能决定方法的可见性.
注意,发布任何web service都有安全含义.
· allowedRoles : 都好分离的允许访问服务的角色列表。注意,这些是安全角色,和SOAP角色相反。安全角色控制访问,SOAP角色控制哪些SOAPheaders会被处理。
· extraClasses : 指定一个空格或者都好分离的类名称列表,这些类的名字应该被包含在WSDL文档的类型定义部分。当服务接口引用一个基类的时候,或者希望WSDL文件包含其他类的XML Schema类型定义的时候,这个参数很有用。
如果希望为服务定义handler,可以在<service>元素中添加<requestFlow>和<responseFlow>子元素。他们的语义和<chain>元素中的定义时一样的。也就是说,它们可以包含<handler> and <chain> 元素,根据指定的顺序被调用.
通过服务的Handlers来控制角色,可以在服务声明中指定任意数量的<role>元素。
例如:
<service name="test">
<parameter name="className" value="test.Implementation"/>
<parameter name="allowedMethods" value="*"/>
<namespace>http://testservice/</namespace>
<role>http://testservice/MyRole</role>
<requestFlow> <!-- Run these before processing the request -->
<handler type="java:MyHandlerClass"/>\
<handler type="somethingIDefinedPreviously"/>
</requestFlow>
</service>
可以通过使用<operation>标签指定关于服务的特殊操作的元数据。这可以将方法的java参数名和特定的XML名进行映射,为参数指定特定的模式,并将特定的XML名字映射到特定的操作。例如
<operation name="method">
</operation>
<chain name="name">
<subelement/>...
</chain>
<subelement/>...
</chain>
定义一个链。当chain被调用的时候,按顺序调用其中的handler。这样就可以构建一个常用功能的模块,chain元素的子元素可以是handler或者chain。handler的定义形式可以是如下两种方式:
<chain name="myChain">
<handler type="java:org.apache.axis.handlers.LogHandler"/></chain>
<handler type="java:org.apache.axis.handlers.LogHandler"/></chain>
或者
<handler name="logger" type="java:org.apache.axis.handlers.LogHandler"/>
<chain name="myChain"/>
<handler type="logger"/></chain>
<chain name="myChain"/>
<handler type="logger"/></chain>
<transport name="name">
定义了一个服务器端的传输。当一个输入请求到达的时候,服务器传输被调用。服务器传输可能定义<requestFlow> and/or <responseFlow> 元素来指定handlers/chains,在请求和响应被处理的时候被调用,这个功能和service元素中的功能一样。典型的传输请求响应handler实现了关于传输的功能。例如转换协议headers等等.
对于任何种类的传输,经常是指HTTP传输,当特定的查询字符串传递到servlet的时候用户可能允许Axis servlets执行任意的动作,以plug-in的方式。 (参考Axis Servlet Query String Plug-ins).当查询字符串handler的类名被指导后,用户可以通过在<transport>中添加合适的<parameter>来启用它(插件)。
<transport name="http">
<parameter name="useDefaultQueryStrings" value="false" />
<parameter name="qs.name" value="class.name" /></transport>
在上面的例子中,AxisServlet会处理的查询字符串是?name,它调用的类是class.name。<parameter>元素的name属性必须加上前缀qs来表示这个元素定义了一个查询字符串handler。value属性值相实现了org.apache.axis.transport.http.QSHandler 接口的类。默认情况下,Axis提供了三个Axis servlet查询字符串handlers (?list, ?method, and ?wsdl). 查看Axis服务器配置文件来了解它们的定义。如果不希望使用默认的handlers,就设置"useDefaultQueryStrings" 为false。默认会被设置成true.
<parameter name="useDefaultQueryStrings" value="false" />
<parameter name="qs.name" value="class.name" /></transport>
在上面的例子中,AxisServlet会处理的查询字符串是?name,它调用的类是class.name。<parameter>元素的name属性必须加上前缀qs来表示这个元素定义了一个查询字符串handler。value属性值相实现了org.apache.axis.transport.http.QSHandler 接口的类。默认情况下,Axis提供了三个Axis servlet查询字符串handlers (?list, ?method, and ?wsdl). 查看Axis服务器配置文件来了解它们的定义。如果不希望使用默认的handlers,就设置"useDefaultQueryStrings" 为false。默认会被设置成true.
<transport name="name" pivot="handler type" >
定义了一个客户端的传输,当发送SOAP消息的时候来调用。"pivot"属性指定一个Handler来作为实际的传输sender,例如HTTPSender。请求和响应流和服务器端的设置相同.
<typeMapping qname="ns:localName" classname="classname" serializer="classname" deserializer="classname"/>
每个typeMapping将一个XML qualified名字和一个Java类进行映射,使用一个序列器和反序列器。
<beanMapping qname="ns:localName" classname="classname">
讲话的类型映射,使用一个预定义的序列器/反序列器来编码/解码JavaBeans。
<documentation>
在<service>, <operation> 或者操作的<parameter>中使用。.是文档说明,生成wsdl的<wsdl:document>元素.
Example:
<operation name="echoString" >
<documentation>This operation echoes a string</documentation> <parameter name="param">
<documentation>a string</documentation>
</parameter>
</operation>
<operation name="echoString" >
<documentation>This operation echoes a string</documentation> <parameter name="param">
<documentation>a string</documentation>
</parameter>
</operation>
全局的Axis配置参数
服务默认的是通过server-config.wsdd文件中的值来进行配置的。但是熟练的Axis用户可以写自己的配置handler,这样就可以将配置数据保存在LDAP服务器,数据库或者远程的web service等等。查看源代码来了解如何实现。也可以在web.xml文件中使自动的获取配置信息。但是Axis不推荐这样使用,因为最好将配置信息放在一个位置。
在server-config文件中,有一个全局配置部分,支持以名/值对的形式作为嵌套元素使用。
<globalConfiguration>
<parameter name="adminPassword" value="admin"/>
<parameter name="axis.servicesPath" value="/services/"/>
<parameter name="attachments.Directory" value="c:\temp\attachments"/>
<parameter name="sendMultiRefs" value="true"/>
<parameter name="sendXsiTypes" value="true"/>
<parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
<parameter name="sendXMLDeclaration" value="true"/>
<parameter name="enable2DArrayEncoding" value="true"/>
<parameter name="dotNetSoapEncFix" value="false"/>
</globalConfiguration>
单独的Service(服务)配置
<service name="MyServiceName"
provider="java:RPC"
style="rpc|document|wrapped"
use="encoded|literal"
streaming="off|on"
attachment="MIME|DIME|NONE">
<parameter name="className" value="org.apache.mystuff.MyService"/>
<parameter name="allowedMethods" value="method1 method2 method3"/>
<parameter name="wsdlTargetNamespace" value="http://mystuff.apache.org/MyService"/>
<parameter name="wsdlServiceElement" value="MyService"/>
<parameter name="wsdlServicePort" value="MyServicePort"/>
<parameter name="wsdlPortType" value="MyPort"/>
<parameter name="wsdlSoapActionMode" value="NONE|DEFAULT|OPERATION"/>
<parameter name="SingleSOAPVersion" value="1.1|1.2/>
<documentation>Service level info</documentation>
<endpointURL>http://example.com:5050/my/custom/url/to/service</endpointURL>
<wsdlFile>/path/to/wsdl/file</wsdlFile>
<namespace>http://my.namespace.com/myservice</namespace>
<handlerInfoChain>handlerChainName</handlerInfoChain>
<operation ... />
<typeMapping ... />
<beanMapping ... />
</service>
单独的Operation(操作)配置
<operation name="GetQuote"
qname="operNS:GetQuote"
returnQName="GetQuoteResult"
returnType="xsd:float"
soapAction=""
returnHeader="true|false">
<documentation>Operation level documentation here</documentation>
<parameter name="ticker" type="tns:string"/>
<fault name="InvalidTickerFaultMessage"
qname="tickerSymbol"
class="test.wsdl.faults.InvalidTickerFaultMessage"
type="xsd:string"/>
</operation>
由于Service的配置和Operation的配置很容易理解,各个参数也都使用了self-explanation的表示,所以这里就不再赘述了。
同时Axis还定义日志配置以及一些预定义的Handler,详细内容,参考Axis的参考文档。
发表评论
-
将oracle用户密码设置为永不过期
2016-02-28 20:40 945修改oracle用户密码永不过期。为了测试 ... -
SQL Server 因为正在使用 无法还原解决方法
2016-02-26 12:00 870有时候我们需要还原数据库,但是由于程序或者其他人正在操作数据 ... -
SQL Server Management Studio连接服务器时指定端口号
2016-02-25 15:40 1233今天想连接SQL Server服务器,需要指定端口号。 各 ... -
Fixing SVN Edge Database after failed upgrade to 5.x
2015-08-08 22:55 2407问题:Cannot login to console aft ... -
Oracle管理员代理普通用户操作
2014-10-15 16:11 843-- 1. 以DBA身份连接至数据库,创建一个代 ... -
Linux tar压缩时排除某个目录或文件的参数
2012-05-03 08:58 1288在对某个目录进行压缩的时候,有时候想排除掉某个目录,例如: ... -
ubuntu 11.10 安装 java环境
2012-04-07 15:07 1042声明:一下内容主要来自网络,本来在此基础上根据自己的成功经验做 ... -
Xml转CSV的小工具
2012-02-09 17:59 2953这个挺好用,而且不需要预定义模板 -
Oracle好文章
2012-02-09 16:18 770Oracle IO http://blog.163.com/ ... -
c# sqlite好文章
2011-11-15 23:28 811http://www.dreamincode.net/foru ... -
eclipse或者myeclipse的Help菜单下找不到SoftWare Updates菜单的解决
2011-10-25 13:34 1711In some situations you may not ... -
VirtualBox问题汇总
2011-10-25 10:12 8171.windows共享文件夹 映射网络驱动\\vboxsvr ... -
Word页眉插入章节名
2011-09-20 10:29 1673一篇长的Word文档中保存了多篇文章,通过域功能,可以把文章的 ... -
Access restriction: The type FtpClient is not accessible due to restriction on r
2011-06-27 15:31 2798在做ftp,代码中引用import sun.net.ftp.F ... -
iTunes备份目录
2011-06-16 23:26 1440iTunes 将备份文件存放在以下位置:Windows XP: ... -
bash中获得文件名和文件路径
2011-06-10 17:15 920[root@mail /]# dirname /root/ ... -
VirtualBox3.2.12在CentOS中共享Windows文件夹
2011-05-01 23:04 3980http://www.51testing.com/?uid-1 ... -
java中判断字符串是否为数字的三种方法
2010-09-27 11:06 10791用JAVA自带的函数public static ... -
win7右键新建为空解决办法
2010-06-27 20:53 3660环境:win7 Ultimate 问题:右键的新建菜单为空 ... -
gbk, gb2312,big5,unicode,utf-8,utf-16的区别
2010-05-05 23:52 1360以前收藏的一篇 标题 谈谈Unicode编码,简要解释UCS、 ...
相关推荐
9. **XML配置**:Axis 使用XML配置文件来定制其行为,这使得配置更加直观和可读。 10. **国际化**:支持多语言环境,可以处理不同地区的编码和字符集问题。 在使用Apache Axis 1.2RC2时,开发者需要注意这是一个...
这通常涉及从官方网站获取最新版本的发布包,解压缩,然后配置环境变量,如AXIS2_HOME,以便系统能够找到所需的库和配置文件。 2. **创建服务**:Axis2提供了一种简单的方法来创建和部署Web服务。这可能涉及到编写...
2. **如何在Eclipse和Tomcat环境中使用Apache Axis**:这包括了如何设置开发环境,以及如何在Eclipse IDE中配置Tomcat服务器以支持Apache Axis项目。 3. **如何使用WSS4J加密和签名SOAP消息**:WSS4J(Web Services ...
4. 创建服务配置文件(通常是wsdd文件)以定义服务行为和服务端点。 5. 部署服务到Axis服务器。 **调用Web服务** 1. 使用wsimport工具从WSDL生成客户端的Java代理类。 2. 编写Java代码,实例化代理类并调用Web服务...
2. **axis2-1.4.1-bin.zip**:这个压缩包是Apache Axis2的二进制发行版,包含了运行时环境所需的全部文件,如库文件、配置文件、脚本等。用户可以使用这些文件在本地系统上快速搭建一个Axis2服务器,用于部署和运行...
综上所述,Axis1.4开发指南是一份针对使用Axis1.4版本开发WebService的详尽文档,它介绍了WebService的基本概念、Axis框架的安装与使用、WebService开发和部署的关键技术,以及如何处理复杂对象传递、异常和文件传递...
1. **服务发布**:Apache Axis允许开发者通过简单的注解或配置文件将Java类转换为Web服务,无需编写复杂的底层代码。 2. **服务消费**:同样,它也提供了客户端API,使得开发人员可以方便地调用其他系统发布的Web...
### 开发Web服务使用Apache Axis2的...通过上述总结,我们可以看出《使用Apache Axis2开发Web服务》这本书是一本非常实用的指南,不仅提供了详细的步骤指导,还涵盖了多项高级技术的应用,适合不同层次的开发者阅读。
全局配置文件`axis2.xml`是Axis2的核心配置,包含了整个系统运行所需的所有设置。它定义了服务、模块、传输接收器和发送器等组件的行为。在`axis2.xml`中,你可以设置参数、指定传输接收器和发送器,以及定义监听器...
解压后,你会找到配置文件、库文件、示例代码和其他必要的工具。这个压缩包是初学者入门Apache Axis的重要资源。 在`axis-bin-1_3.zip`中,有几个重要的JAR文件: 1. `activation.jar`:这是JavaBeans Activation ...
1. **axis1.3-bin.zip**:这是Axis1.3的二进制发行版,通常包含Axis的JAR文件、示例、文档和必要的配置文件。 2. **axis1.3-src.zip**:源代码版本,供开发者深入研究或进行自定义修改。 3. **wsdl2java** 和 **java...
本书《Quickstart Apache Axis2》由Deepal Jayasinghe撰写,旨在为读者提供一个实用的指南,帮助读者快速掌握如何使用Apache Axis2创建高质量的Web服务。 #### 二、核心概念与术语 - **SOAP (Simple Object Access...
conf文件夹包含了Axis2的配置文件,lib文件夹包含了运行所需的依赖库,repository文件夹用于存放发布过的Axis服务和文件,而sample文件夹则包含了示例项目。 为了部署Axis2项目,通常需要将axis2.war文件放置在...
- **conf**:配置文件,如`axis2.xml`,用于定制Axis2行为。 - **lib**:运行所需的所有库文件。 - **repository**:存放发布的服务和文件。 - **sample**:示例代码。 - **webapp**:Web应用程序和JSP页面。 #####...
这涉及到安装和配置Axis2库,理解并运用backport-util-concurrent-3.1.jar和geronimo-stax-api_1.0_spec-1.0.1.jar这两个依赖,以及参考"axis2_WebService_开发指南"来学习Web服务的创建、发布和调用。初学者可以...
总之,AXIS配置文档例子提供了关于AXIS框架的全面指南,从安装、创建服务、部署到测试,每个环节都有详细的步骤和配置示例。理解并掌握这些知识点,对于开发和维护基于SOAP的Web服务至关重要。通过实践和探索,你...
这个版本是Axis2的可执行二进制包,包含了运行Axis2服务所需的全部文件,包括库文件、配置文件、工具和其他必需组件。下载此包后,用户可以直接解压并运行,无需进行编译步骤。bin包通常用于开发环境和生产环境,...
在Java世界里,WAR文件是一种特殊格式的归档文件,用于打包Web应用程序的所有必要组件,如静态网页、JSP、Servlet、XML配置文件、类库等,以便在支持Java Servlet容器(如Tomcat、Jetty)中运行。 描述中的 "axis2-...
- **conf**:存放配置文件。 - **lib**:存储运行所需的依赖库。 - **repository**:保存已发布的Axis服务及相关文件。 - **sample**:提供示例代码。 - **webapp**:包括Web应用文件和JSP页面。 **1.3 集成Tomcat*...