`

wsdd文件

阅读更多
webservice的发布方式-jws, 这种发布方式非常的敏捷!但有它的局限性—你必须知道webservice的源代码。有时候这个的确很让人郁闷!比如:的webservice被打成了一个jar包,你并没有源代码。或者这个webservice根本就不是你的公司开发的。这时你发布这个webservice就会变得很困难。axis针对这种情况提供了wsdd文件的方式来发布和撤销webservice。

     现在我们来通过一个wsdd文件来对wsdd有个初步的认识。注意:在开始下面的步骤前请安装axis.具体安装请看上一篇

xml 代码


<deployment xmlns="http://xml.apache.org/axis/wsdd/"  
            xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">  
            <service name="MyService" provider="java:RPC">  
                     <parameter name="className" value="samples.userguide.example3.MyService"/>  
                      <parameter name="allowedMethods" value="*"/>  
            service>  
deployment>  

最外面的元素告诉我们这是一个wsdd发布项,并且定义了java的命名空间,service  元素定义了我们的service.java:RPC定义了axis的provider。parameter name定义了webservice类名及所在包的位置。allowedMethods value等于*,表示MyService的所有方法都可以被调用。

         了解了wsdd文件,我们来认识一个非常有用的工具AdminClient.正式通过它我们才能通过wsdd文件发布我们的应用。它的全路径是org.apache.axis.client.AdminClient,在axis.jar包中。在使用这个工具前我们必须把相应的jar包加入classpath。如:axis.jar..。如果你做了<>的练习则这一步就不用再做了。

        我们首先进入webservice所在源文件的目录找到deploy.wsdd文件。然后键入如下命令:

           java org.apache.axis.client.AdminClient deploy.wsdd

         (如果提示错误,请检查你是否将必须的jar包加入classpath)

        

         如果成功则会显示 :


<Admin>Done processingAdmin>  

        下面来解释AdminClient 所做的工作。AdminClient 首先会在axis.jar所在应用下的WEB-INF文件夹下创建一个webservice配置文件server-config.wsdd,并且根据wsdd文件的配置将我们的webservice加入到这个配置文件中。如果server-config.wsdd已经存在则不会创建,会修改这个文件将新的service 配置到server-config.wsdd文件中。

如图:

 

xml 代码


xml version="1.0" encoding="UTF-8"?>  
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">  
<globalConfiguration>  
  <parameter name="sendMultiRefs" value="true"/>  
  <parameter name="disablePrettyXML" value="true"/>  
  <parameter name="adminPassword" value="admin"/>  
  <parameter name="attachments.Directory" value="C:\tomcat5\webapps\axis\WEB-INF\attachments"/>  
  <parameter name="dotNetSoapEncFix" value="true"/>  
  <parameter name="enableNamespacePrefixOptimization" value="false"/>  
  <parameter name="sendXMLDeclaration" value="true"/>  
  <parameter name="sendXsiTypes" value="true"/>  
  <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>  
  <requestFlow>  
   <handler type="java:org.apache.axis.handlers.JWSHandler">  
    <parameter name="scope" value="session"/>  
   handler>  
   <handler type="java:org.apache.axis.handlers.JWSHandler">  
    <parameter name="scope" value="request"/>  
    <parameter name="extension" value=".jwr"/>  
   handler>  
  requestFlow>  
globalConfiguration>  
<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>  
<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>  
<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>  
<service name="AdminService" provider="java:MSG">  
  <parameter name="allowedMethods" value="AdminService"/>  
  <parameter name="enableRemoteAdmin" value="false"/>  
  <parameter name="className" value="org.apache.axis.utils.Admin"/>  
  <namespace>http://xml.apache.org/axis/wsdd/namespace>  
service>  
<service name="Version" provider="java:RPC">  
  <parameter name="allowedMethods" value="getVersion"/>  
  <parameter name="className" value="org.apache.axis.Version"/>  
service>  
>  
<service name="MyService" provider="java:RPC">  
  <parameter name="allowedMethods" value="*"/>  
  <parameter name="className" value="samples.userguide.example3.MyService"/>  
service>  
<transport name="http">  
  <requestFlow>  
   <handler type="URLMapper"/>  
   <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>  
  requestFlow>  
  <parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/>  
  <parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>  
  <parameter name="qs.list" value="org.apache.axis.transport.http.QSListHandler"/>  
  <parameter name="qs.method" value="org.apache.axis.transport.http.QSMethodHandler"/>  
  <parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/>  
  <parameter name="qs.wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>  
transport>  
<transport name="local">  
  <responseFlow>  
   <handler type="LocalResponder"/>  
  responseFlow>  
transport>  
deployment>  

xml 代码

我们来访问一下看看:

java samples.userguide.example3.Client -lhttp://localhost:8080/axis/services/MyService "test me!"

You typed : test me!    

返回正确,部署成功!

         如果你要卸载一个webservice也很简单!我们首先定义一个undeploy.wsdd


<undeployment xmlns="http://xml.apache.org/axis/wsdd/">  
<service name="MyService"/>  
undeployment>  

xml 代码<service name="MyService"></service>

进入webservice所在源文件的目录找到undeploy.wsdd文件。然后键入如下命令:

              java org.apache.axis.client.AdminClient  undeploy.wsdd

(如果提示错误,请检查你是否将必须的jar包加入classpath)

        

         如果成功则会显示 :


<Admin>Done processingAdmin>  



在看server-config.wsdd已经删除了原来service的定义

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"></deployment>

xml 代码


<?xml version="1.0" encoding="UTF-8"?>  
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">  
<globalConfiguration>  
  <parameter name="sendMultiRefs" value="true"/>  
  <parameter name="disablePrettyXML" value="true"/>  
  <parameter name="adminPassword" value="admin"/>  
  <parameter name="attachments.Directory" value="C:\tomcat5\webapps\axis\WEB-INF\attachments"/>  
  <parameter name="dotNetSoapEncFix" value="true"/>  
  <parameter name="enableNamespacePrefixOptimization" value="false"/>  
  <parameter name="sendXMLDeclaration" value="true"/>  
  <parameter name="sendXsiTypes" value="true"/>  
  <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>  
  <requestFlow>  
   <handler type="java:org.apache.axis.handlers.JWSHandler">  
    <parameter name="scope" value="session"/>  
   </handler>  
   <handler type="java:org.apache.axis.handlers.JWSHandler">  
    <parameter name="scope" value="request"/>  
    <parameter name="extension" value=".jwr"/>  
   </handler>  
  </requestFlow>  
</globalConfiguration>  
<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>  
<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>  
<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>  
<service name="AdminService" provider="java:MSG">  
  <parameter name="allowedMethods" value="AdminService"/>  
  <parameter name="enableRemoteAdmin" value="false"/>  
  <parameter name="className" value="org.apache.axis.utils.Admin"/>  
  <namespace>http://xml.apache.org/axis/wsdd/</namespace>  
</service>  
<service name="Version" provider="java:RPC">  
  <parameter name="allowedMethods" value="getVersion"/>  
  <parameter name="className" value="org.apache.axis.Version"/>  
</service>  
<!--  
原来的service的定义已经删除!  
-->  
<transport name="http">  
  <requestFlow>  
   <handler type="URLMapper"/>  
   <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>  
  </requestFlow>  
  <parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/>  
  <parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>  
  <parameter name="qs.list" value="org.apache.axis.transport.http.QSListHandler"/>  
  <parameter name="qs.method" value="org.apache.axis.transport.http.QSMethodHandler"/>  
  <parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/>  
  <parameter name="qs.wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>  
</transport>  
<transport name="local">  
  <responseFlow>  
   <handler type="LocalResponder"/>  
  </responseFlow>  
</transport>  
</deployment>  


看是不是很简单,不仅省去了ctrl+c和ctrl+v,还防止了手动配置出错。
分享到:
评论

相关推荐

    WebServiceWSDD上传服务器部署server-config.wsdd文件

    "WebServiceWSDD上传服务器部署server-config.wsdd文件"这个主题意味着我们需要理解如何将包含WSDD配置的"server-config.wsdd"文件上传到服务器,以便正确地部署Web服务。这个过程通常涉及到以下步骤: 1. **创建...

    webService 的wsdd文件

    只需要创建一个普通的web工程,然把该文件添加到工程中,把其中有注释的一段改成自己的public 类的public 方法,即可

    axis1.4部署webSevice项目测试(已有所相关的jar包)+开发指南+源码+部署相关配置wsdd文件,内有说明

    3. **生成WSDD文件**:Web Service Deployment Descriptor (WSDD)是Axis用来配置和部署Web服务的XML文件。你可以使用Axis的`wsdl2java`工具,从服务接口生成对应的WSDD文件。WSDD文件包含了服务的端点地址、绑定信息...

    server-config.wsdd

    其中,`server-config.wsdd`文件就是Apache Axis(一个开源的Web服务框架)中的核心配置文件,专门用于管理Web服务的部署和服务端的配置。本文将详尽解析`server-config.wsdd`的内涵及其重要性,旨在帮助读者深入...

    springboot使用axis1.4的demo

    4. **发布Web服务**:在Spring Boot的初始化或启动过程中,使用Axis的API加载WSDD文件并发布Web服务。这通常在`@PostConstruct`注解的方法中完成。 5. **配置Spring Boot**:确保Spring Boot应用程序可以正确地暴露...

    Axis通过wsdd部署Web Service

    3. **wsdd文件结构**:wsdd文件分为全局(Global)和局部(Per-Service)两种类型。全局文件配置服务器级别的设置,而局部文件针对单个服务。主要元素包括: - **Service**:定义服务的基本信息,如名称、接口、...

    Web Service 开发实例 文档 1.4 wsdd client 完整

    WSDD文件可以控制服务的部署和客户端的生成。 4. **Axis开发指南**: "Axis1.4开发指南.pdf"很可能是详细解释如何使用Axis进行Web服务开发的手册,包括安装、配置、创建服务和客户端的步骤,以及处理错误和调试的...

    axis1.4 部署webservice说明

    在Axis1.4中,可以通过`wsdd2java`工具,根据Java类自动生成对应的WSDD文件。这一步骤允许开发者快速定义服务的行为和结构,而无需手动编写XML配置。 3. **生成测试类**: 使用Axis1.4,可以利用`java2wsdl`工具...

    Axis webService 教程.pdf

    - **定义**: 定制发布是一种更灵活的部署方式,它引入了WSDD文件(Web Services Deployment Descriptor),用于配置Web服务的各种属性。 - **步骤**: 1. 创建Java源代码文件。 2. 编写WSDD文件,指定部署细节。 3...

    Springboot集成axis1.4的demo

    以下将详细讲解如何在Spring Boot应用中集成Axis1.4以及使用wsdd文件发布Web服务。 首先,了解 Axis1.4:Axis 是一个开源的Java Web服务框架,它允许开发者快速地创建和部署Web服务。Axis1.4是该框架的一个较老版本...

    webservice

    这通常涉及到创建一个简单的Java类作为服务实现,然后使用AXIS工具生成相应的WSDD文件,并通过AXIS引擎将服务部署到服务器上。这个过程涉及到了Java的编译、AXIS的wsdl2java工具、WSDD文件的编辑以及最后的服务发布...

    java实现webservice实例.doc

    wsdd文件是WebService的描述文件,用于定义WebService的接口和实现。它是Axis框架中的一部分,用于描述WebService的结构和行为。wsdd文件可以手动编写,也可以使用Axis工具来生成。 第四步:部署WebService 使用...

    金蝶EAS WebService

    然后,我们需要将KmyeFacade.wsdd文件添加到server-config.wsdd文件中,并将service节点内容添加到server-config.wsdd文件中。 三、部署到正式服务器 在部署到正式服务器时,我们需要在BIM中部署代码和元数据,...

    用wsdd开发webservice

    在压缩包中,文件名为"wsdd",这可能是一个具体的`wsdd`配置文件示例,初学者可以通过分析这个文件,了解`wsdd`的结构和语法,学习如何配置Web服务的各项参数。 总的来说,这份资料将引导初学者进入Web服务开发的...

    java实现webservice实例.pdf

    总结,Java实现Web服务的关键步骤包括创建Web工程、安装Apache Axis、编写服务接口和实现、生成WSDL、配置Wsdd文件以及部署和测试服务。理解这些概念和技术对于开发基于Java的Web服务至关重要。

    用axis 发布ws的过程

    - 使用Axis的工具将Java类和WSDD文件部署到服务器,使Web服务可供其他系统调用 8. **Ant**:Apache Ant是一个Java库和命令行工具,其任务是驱动构建过程。开发者可以定义一系列任务,并通过Ant脚本来自动化这些...

Global site tag (gtag.js) - Google Analytics