`

如何手工发布一个WebService

阅读更多

 注意:Web服务器是运行在JDK之上,而Axis站点(也就是一个应用)是运行在Web服务器之上的,所以他是web容器的子容器(因为里面可以管理些东西,只是概念上的吧...)

所以需要先下载Axis包,然后在他的Webapps下面找到一个axis,然后放到Tomcat的Webapps下面。

发布服务的两种方法:
1.即时发布:
    写一个java类,然后改成jws后缀,然后放到axis下面就可以了,注意的是即时发布的话不能在站点的List中看见,只能直接敲类名哦,如:http://localhost:8080/axis/helloWebService.jws
但是不能写包名,不用用class文件等等限制

注意啦:在 myeclipse上有个现成的客户端。。。哈哈。。。先点击Web service explore这个小图标,然后点击右上角切换到wsdl page,wsdl的地址给他,然后就可以使用了

2.定制服务
  写一个javaBean,然后生成class文件,连同包一起拷贝到axis /web-inf/classes下面,然后再粘贴一个deloy.wsdd放到classes目录下面,并修改deloy.wsdd文件的内容。


<service name="MyFirstWebService" provider="java:RPC" style="document" use="literal">
      <parameter name="className" value="com.test.CaclSOA"/>
      <parameter name="allowedMethods" value="*"/>这里service的名字可以随便写,为什么呢,因为里面的参数会进行类名的映射的,不过一般把服务名和类名取的一样   
  </service>
切换到命令航下,执行
		java org.apache.axis.client.AdminClient deploy.wsdd
//注意:用命令执行deploy.wsdd并生成server-config.wsdd的过程美其名曰发布
wsdd是一个发布文件。。。wsdl是一个描述文件

我们执行AdminClient deploy.wsdd这个命令是为了什么? 他干了什么事情?
答:他的作用是把自己里面的内容添加到server-config.wsdd中,所以。。。我们不用这个命令,直接修改server-config.wsdd也是可以的。。。

下面是配置环境变量然后根据命令执行deploy.wsdd 生成server-config.wsdd 的过程
配置axis环境变量

set JAVA_HOME=D:\j2sdk1.4.1_01
set CATALINA_HOME=D:\Tomcat 5.0
set classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
set Path=%Path%;%JAVA_HOME%\bin;%CATALINA_HOME%\bin

set AXIS_HOME=E:\Tomcat\webapps\axis
set AXIS_LIB=%AXIS_HOME%\WEB-INF\lib
set AXISCLASSPATH=%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery.jar;%AXIS_LIB%\commons-logging.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\activation.jar;%AXIS_LIB%\mail.jar;%AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\axis-ant.jar;%AXIS_LIB%\xmlsec.jar
set classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;


启动tomcat ,运行-cmd  到deploy.wsdd文件所在目录下使用命令
E:\Java\Tomcat 5.5\webapps\Axis1.4_samples2\WEB-INF>java -Djava.ext.dirs="e:\Jav
a\Tomcat 5.5\webapps\axis\WEB-INF\lib" org.apache.axis.client.AdminClient deploy
.wsdd

我的Tomca 5.5之间有个空格,所以需要将整个路径使用“”包含,运行这个命令后会在E:\Java\Tomcat 5.5\webapps\axis\WEB-INF 下生成一个 server-config.wsdd 这个就是我们需要的


//---------------------下面是反向工程,通过wsdl生成server,再发布的过程------------------------------------------

1.生成原代码
//这个里面是wsdl2javaserver.bat -----通过wsdl生成java代码和deploy.wsdd
set  AXISCLASSPATH_TEMP=.\axis_lib\axis.jar;.\axis_lib\log4j-1.2.8.jar;.\axis_lib\commons-logging-1.0.4.jar;.\axis_lib\commons-discovery-0.2.jar;.\axis_lib\jaxrpc.jar;.\axis_lib\saaj.jar;.\axis_lib\wsdl4j-1.5.1.jar;.\axis_lib\xercesImpl.jar;.\axis_lib\xml-apis.jar
D:\program\openEAP3.18\jdk\bin\java -cp  %AXISCLASSPATH_TEMP%  org.apache.axis.wsdl.WSDL2Java ./CTDDataSynService_1_0.wsdl -o .\源代码\src -p com.suntek.ctdmanager.ws.server.data -s

2。发布服务。。。也就是执行一个命令把deploy.wsdd里面的内容写入到service-config.wsdd中去

//wsdd.bat里面的内容
set  AXISCLASSPATH_TEMP=.\axis_lib\axis.jar;.\axis_lib\log4j-1.2.8.jar;.\axis_lib\commons-logging-1.0.4.jar;.\axis_lib\commons-discovery-0.2.jar;.\axis_lib\jaxrpc.jar;.\axis_lib\saaj.jar;.\axis_lib\wsdl4j-1.5.1.jar;.\axis_lib\xercesImpl.jar;.\axis_lib\xml-apis.jar
D:\program\openEAP3.18\jdk\bin\java -cp  %AXISCLASSPATH_TEMP% org.apache.axis.client.AdminClient -l http://localhost:9080/ctdmanager/servlet/AxisServlet -P  ./deploy.wsdd 









分享到:
评论

相关推荐

    webservice开发方式,报文修改

    通过封装此类功能,可以在项目中创建一个通用的报文处理类,方便地调整报文格式以满足第三方的要求,从而简化开发过程,提高工作效率。总之,理解Web Service的工作原理,熟悉相关框架,掌握报文构造和解析技巧,是...

    Asix2 调用SAP PI Webservice

    使用axis2-eclipse-codegen-wizard-1.4生成代理方法调用SAP PI发布的Webservice,因为codegen-wizard不能识别Policy节点,所以需要手工将Policy节点删掉,此实例为异步场景 文档 + 代码 + Jar

    金蝶EAS WebService

    在BOS Studio中,选择Facade发布WebService,发布成功以后,在临时目录里会生成一个wsdd文件和一个目录。我们需要将WSKmyeFacadeSrvProxy.java文件拷贝到解决方案src目录中,注意包名和路径一致。然后,我们需要将...

    soap webservice调试PDF

    总之,SOAP WebService调试是一个涉及多个层面的复杂过程,涵盖了从代码生成到运行时行为,再到部署和扩展服务的整个生命周期。掌握这些知识点,能够帮助开发者构建出更加稳定、高效和安全的Web服务,满足企业级应用...

    用axis2搭建webservice

    Axis2是Apache软件基金会开发的一个高效的Web服务框架,它基于Java语言,提供了强大的Web服务支持。本教程将详细介绍如何使用Axis2来搭建Web服务,并探讨其与Spring框架的集成。 【描述】:虽然有多种Web服务技术,...

    axis2_WebService_开发指南

    - **会话管理**:探讨如何在跨多个WebService的场景下管理Session,以及如何利用Spring的JavaBean发布WebService,实现更高级的会话和状态管理。 - **异步调用**:介绍如何配置和使用Axis2的异步调用功能,提高服务...

    xfire webservice wsdl 文件中字段名称

    XFire是Java平台上一个曾经流行的Web服务框架,它提供了一种简便的方式来创建和消费Web服务。WSDL(Web Services Description Language)文件是Web服务的核心组件,用于定义服务接口、操作、消息格式以及服务绑定等...

    WSDL生成webservice

    假设我们有一个WSDL文件`WSDLDemo.wsdl`,其中定义了一个名为`HelloWorldService`的服务,该服务提供一个`sayHello`方法,接收一个字符串参数并返回一个字符串响应。 1. 使用JAX-WS的`wsimport`工具,将`WSDLDemo....

    gsoap 2.8 (SOAP/XML 关于C/C++ 语言的自动化实现工具内附 CSharp webservice例子,及GSOAP client和server例子)

     ×gSOAP 包含一个 WSDL 生成器,便于web服务的发布。  ×gSOAP 包含一个WSDL解析器(将WSDL转换为gSOAP头文件),可以自动化用户客户端及服务端的开发。  ×生成可以单独运行的web服务及客户端程序。  ×因为只...

    Spring应用开发实战Web Service WS

    8. **使用WS-Security安全策略**:在Web服务中,安全性是一个重要考虑因素。WS-Security是一种安全标准,它允许在SOAP消息中加入安全性元素,例如数字签名和加密,从而保护消息在传输过程中的安全。 9. **Spring-WS...

    Axis1 dev note

    - 创建一个简单的Java类并使用Axis1提供的`Server`类来发布服务。 3.2. 标准 `server-config.wsdd` 文件 - 这是一个配置文件,用于定义Axis1服务器的行为,如服务部署、消息处理等。 3.3. 作为独立应用部署 ...

    与HIS接口解决方案...doc

    如何设计一个高效、稳定的接口,使得EMR能够从HIS中实时获取病人基本信息、住院信息等,并支持其他系统对EMR数据的访问,成为了一个亟待解决的问题。 **2. 目标** - 实现EMR与HIS之间的数据同步。 - 保障数据的...

    与HIS接口项目解决方案.pdf

    3. **数据共享**:对于其他系统(如PACS、B超、手术麻醉等)需要访问电子病历数据的情况,会发布专门的WebService,使这些系统能实时调用EMR中的数据。 4. **数据同步策略**: - **被动通信**:EMR系统被动接收HIS...

    C#.Net的常见面试试题

    - **UDDI** (Universal Description, Discovery and Integration):是一个目录服务标准,用于发布、查找和集成Web服务。 - **WSDL** (Web Services Description Language):是一种用于描述Web服务接口的XML格式。 #...

    阿里云-性能测试服务产品简介-D.docx

    该服务适用于各种应用场景,无论是阿里云内的应用系统还是外部系统,支持HTTP/HTTPS、TCP/UDP、WebService等多种协议,甚至可通过手工编写代码支持更复杂的协议。其基础架构包括性能测试控制中心、控制消息服务器和...

    sp短信平台软件资料

    1.4路由模块:用户能够在一个特服号上开无数的子通道自主开展无限的多样化的服务 1.5记费模块:详细记录每一条MO、MT短信息 1.6文字过滤模块:设置敏感文字过滤 1.7黑名单管理模块:设置对某些手机不提供某些服务 ...

    MyEclipse开发手册之Java篇

    - 通过一个简单的示例介绍了如何手动编写、编译及运行Java程序。 **2. 使用Eclipse/MyEclipse编写与运行Java程序** - 在Eclipse/MyEclipse环境中,从新建项目到编写、编译、运行程序的全过程都被详细记录下来。 #...

    WinForms疑难解答.doc

    使用`RichTextBox`控件可以创建一个功能更强大的文本编辑器,它支持多种格式的文本处理。为了实现文件编辑器的功能,可以结合使用`OpenFileDialog`和`SaveFileDialog`对话框来打开和保存文件。 **4. 设置MDI窗体的...

Global site tag (gtag.js) - Google Analytics