- 浏览: 1225311 次
- 性别:
- 来自: 广州
博客专栏
-
Apache CXF使用s...
浏览量:111295
文章分类
- 全部博客 (189)
- Spring (13)
- Hibernate (10)
- liferay portal (3)
- Java (18)
- 数据库 (32)
- JS (12)
- Eclipse (16)
- Log4j (3)
- 我的收藏夹 (8)
- FF and IE (2)
- Groovy Grails (0)
- Web Service (16)
- Quartz (6)
- Tomcat (8)
- Linux (4)
- xml (4)
- Silverlight (1)
- Flex (10)
- JBoss (4)
- EJB (2)
- WAS(webSphere) (5)
- DOS命令 (2)
- JSON (2)
- Maven (1)
- OThers (1)
- SVN (1)
- iBatis (4)
- OS (1)
- 问题解决 (8)
- 待看文章 (2)
- 多线程 (2)
- 代码收藏(即拿即用工具类) (5)
- Socket (2)
- Android (4)
- 其他 (1)
- python (1)
- Genymotion (1)
最新评论
-
a807966224:
还是 多谢楼主 总结的挺好的 !!!
CXF 入门:创建一个基于SOAPHeader的安全验证(CXF拦截器使用) -
a807966224:
然后 通过 SOAPMessage.getHeader(qna ...
CXF 入门:创建一个基于SOAPHeader的安全验证(CXF拦截器使用) -
a807966224:
我也是接触这东西不久,QName qname = new QN ...
CXF 入门:创建一个基于SOAPHeader的安全验证(CXF拦截器使用) -
a807966224:
楼主 不知道你有没有出现 从headers 里取出来长 ...
CXF 入门:创建一个基于SOAPHeader的安全验证(CXF拦截器使用) -
xdc0209:
兄弟呀,报错啦 2011-12-15 13:27:15 n ...
Hibernate+EhCache配置二级缓存
Apache Axis配置文件WSDD详解
FROM: http://apps.hi.baidu.com/share/detail/49260024
Aapche Axis的Web Service Deployment Descriptor(WSDD)文件参考文档。
本部分介绍的所有的WSDD元素的名称空间都是"http://xml.apache.org/axis/wsdd/"。
<deployment>
告诉Axis Engine这是一个部署描述文件。一个部署描述文件可以表示一个完整的engine配置或者将要部署到一个活动active的一部分组件。
<GlobalConfiguration>
用于控制engine范围的配置。可以包含以下子元素:
· <parameter> : 用来设置Axis的各种属性,参考Global Axis Configuration,可以配置任意数量的参数元素.
· <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的参考文档。
发表评论
-
解决(CXF):The security token could not be authenticated or authorized
2012-01-16 09:50 48181,使用cxf回调函数,服务端setPassword和客 ... -
CXF 入门:创建一个基于WS-Security标准的安全验证(CXF回调函数使用,)
2012-01-15 00:37 9193注意:以下客户端调用代码中获取服务端ws实例,都是通过CXF ... -
CXF 入门:创建一个基于SOAPHeader的安全验证(CXF拦截器使用)
2012-01-12 18:23 18789CXF 入门:HelloWorld接口发布 CXF 入门: ... -
解决(CXF):SOAPFaultException: Fault occurred while processing
2012-01-04 17:23 22766javax.xml.ws.soap.SOAPFault ... -
CXF 入门: 远程接口调用
2012-01-02 17:15 7951本篇是接着:CXF 入门之接口发布写的,建议先看上篇 ... -
CXF 入门:HelloWorld接口发布
2012-01-02 16:31 6276第一步:在myeclipse中新建一个web项目名为myWs, ... -
(入门例子)学习使用Eclipse+WebSphere7+DB2 数据库创建EJB3.0
2011-12-02 22:26 1596附件是讲解使用Eclipse+WebSphere7+DB2 数 ... -
使用XFire+Spring构建Web Service
2011-12-01 12:01 1750FROM: http://shuangjianyu.blog. ... -
使用XFire+Spring+Struts构建Web Service及测试
2011-11-30 13:04 2651FROM: http://shade8109.blog.1 ... -
(Axis 入门) 超简单webservice实例
2011-11-30 11:21 2132From: http://user.qzone.qq.com/ ... -
通过WAS 7控制台进行端口修改
2011-11-29 12:57 1622第二幅图是点击 server1 所到达的页面 ... -
解决:webSphere(was7.0)无法启动
2011-11-25 12:04 15806WAS7,0+WIN7 以安装验证方式启动输出日志 服务 ... -
WebSphere7.0安装及部署手册.doc
2011-11-24 10:32 1654WebSphere7.0安装及部署手册.doc -
解决:nor any of its super class is known to this context.
2011-10-26 13:38 17928可以参考http://blog.csdn.net/chen_y ... -
WebService CXF学习(进阶篇3):CXF整合Spring框架 .
2011-10-26 13:28 79转载于:http://blog.csdn.net/chen ... -
WebService CXF学习 自定义对象传递(简单JavaBean对象) ..
2011-10-26 13:25 91这一节我们就CXF框架简单的JavaBean对象传递进行讲解。 ... -
WebService处理复杂对象List Map(jdk api jws)
2011-10-26 13:02 8739XFire不用这么做,Apache CXF 只需要指定集合中具 ... -
解决: is not found. Have you run APT to generate them?
2011-10-25 13:15 31744WSSERVLET11: failed to parse ru ... -
WebServices CXF开发常见异常及解决方法
2011-10-25 13:08 3571转载于:http://apps.hi.baidu.com/ ... -
解决:java.util.List does not have a no-arg default constructor.
2011-10-25 13:05 3084详见:http://learning.iteye.com/ad ...
相关推荐
WSDD(Web Service Deployment Descriptor)是Apache Axis框架中的一个配置文件,用于定义Web服务的部署和运行时行为。这篇博客“WebService WSDD上传服务器部署 server-config.wsdd 文件”可能是关于如何在服务器上...
其中,`server-config.wsdd`文件就是Apache Axis(一个开源的Web服务框架)中的核心配置文件,专门用于管理Web服务的部署和服务端的配置。本文将详尽解析`server-config.wsdd`的内涵及其重要性,旨在帮助读者深入...
4. **wsdd文件详解**:`service.wsdd`文件中的元素主要包括`deployment`、`globalConfiguration`、`service`和`handler`等。例如: ```xml <deployment xmlns="http://xml.apache.org/axis/wsdd/"> ...
6. **配置文件详解**: - `axis-server.xml`:这是AXIS服务器的主要配置文件,定义了服务器的行为,如端口设置、错误处理等。 - `axis.properties`:存储了AXIS的一些属性配置,例如日志级别、编码格式等。 - `...
接下来,我们需要配置一个部署文件`deploy.wsdd`,用于定义服务的部署细节。这里我们定义了一个名为`sayhello`的服务,并指定了服务类为`server.SayHello`。 ```xml <deployment xmlns="http://xml.apache.org/axis/...
**三、server-config.wsdd详解** server-config.wsdd文件中的`<deployment>`元素是整个部署描述的根节点,包含多个服务(service)的定义。每个`<service>`元素代表一个Web服务,其内部可以有多个`<parameter>`元素...
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <!-- Services from ImsServiceWSDLservice --> <!-- /(:RPC,Docment,Wrapped,Message)...
该命令用于将 `deploy.wsdd` 文件中的服务部署到 Axis 服务器上。 #### 3.2 调用 Web 服务 部署完成后,可以使用 Axis 提供的客户端工具来调用服务。文中给出了一个示例命令: ```bash java samples.userguide....
#### 二、部署文件配置详解 在配置文件`deploy.wsdd`中,我们可以看到以下关键配置: ```xml <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java=...
其中,`HelloWorld.java`是服务端的Java类,`HelloWorldService.wsdd`是服务部署描述文件,`web.xml`是配置Axis的Servlet容器文件。 五、运行与调试 1. **编译Java类**:使用JDK的`javac`命令编译Java源代码。 2. *...
### Axis 1.4 发布WebService接口步骤详解 #### 一、概述 本文档旨在详细介绍如何使用Axis 1.4框架在Java环境下发布WebService接口。Axis是一个由Apache组织开发的开源项目,它提供了用于实现基于SOAP协议的Web...
【Java Axis2 WebService开发详解】 在Java世界中,开发Web服务经常会选择使用Apache Axis2框架,它是一个高效且灵活的Web服务引擎,允许开发者轻松地创建和部署Web服务。本篇文章将详细介绍如何使用Java和Axis2来...
### Axis自定义数组对象知识点详解 #### 一、概述 在进行Web服务开发时,我们经常需要处理复杂的类型,如自定义的数组或对象。Apache Axis框架为Java开发者提供了强大的支持,使得创建、部署和调用Web服务变得简单...
尽管Axis 2提供了一些改进和新特性,但在实际项目部署过程中发现,Axis 2在处理发布的服务aar包中的iBatis `sqlmapconfig.xml`配置文件时存在问题,导致配置文件无法被正确识别和加载。因此,在这种情况下,建议选择...
WSDD(Web Service Deployment Descriptor)是Axis中的核心配置文件,用于定义WebService的细节。高级特性包括: - **Handler**:处理程序可以用来拦截SOAP消息,在消息到达业务逻辑之前或之后执行特定操作,如安全...
### Axis在Tomcat下的部署及应用结合详解 #### 一、概述 Axis 是 Apache 组织提供的一款开源软件,主要用于创建和部署 Web Services。本文档将详细介绍如何在 Tomcat 应用服务器环境下部署 Axis 1.4,并实现与具体...
部署文件(如`ServeTest.wsdd`)描述了服务的行为和配置,需要放置在Tomcat的`WEB-INF/services`目录下。 4. **调用Web服务**:一旦服务部署完成,就可以通过HTTP请求来调用。客户端可以通过生成的代理类与服务进行...
【Axis Webservice 开发过程详解】 在Web服务领域,Axis是一个流行且强大的工具,用于创建和部署基于Java的Web服务。本文将详细讲解如何使用Axis进行Web服务开发,包括概念理解、环境准备、接口与实现类创建、配置...
Axis是Apache软件基金会开发的一个开源Java库,主要用于创建和使用Web服务。本文将深入讲解基于Java的Axis Web服务,以及如何通过一个实际案例来理解其工作原理。 1. Axis简介: Axis是Java平台上流行的Web服务...
### 使用Axis搭建WebService框架的操作步骤详解 随着网络技术的发展,Web Service作为一种标准的服务提供方式,在企业间的信息交换、系统集成等方面发挥着重要作用。本文将详细介绍使用Apache Axis搭建WebService...