• axis1.4开发webservice服务端(快速入门)-基于jdk1.4


    写在前面:

    现在有很多开发webservice的方法以及框架,什么cxf等,但是这些在你编写服务类的时候都要用到注解这个功能。如果现在的jdk是1.4的,那么就不能使用注解这个功能了。所以这里可以用到axis这个工具。

    1.所需jar包:

    2.一般webservice在工作中,都是用在web项目中,所以创建web项目,将所需jar包放在lib目录下

    3.在web.xml文件中,添加

    <servlet>
        <servlet-name>AxisServlet</servlet-name>
        <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
      </servlet>
      <!-- 这里是访问服务的路径 -->
      <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
      </servlet-mapping>

    4.创建服务类,一个接口,一个实现类即可,首先是接口

    package edu.hue.server;
    
    public interface SayHello {
    
        public String say(String name);
    }

      然后是接口的实现类

    package edu.hue.server;
    
    public class SayHelloImpl implements SayHello{
    
        public String say(String name) {
    
            return "Hello my friend " + name;
        }
    
    }


    5.下面在WEB-INF下面创建server-config.wsdd(这个文件直接创建,然后将下面的代码复制就可以了,然后根据需要添加自己的服务的配置,其实这个文件是可以自己生成的,需要自己创建一个deploy.wsdd,启动项目运行之后,会自动生成server-config.wsdd。这里为了方便,直接省略过程,只需要在server-config.wsdd上添加自己的服务就可以了,先学会用再说)

    <?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暂时不用管是什么意思,可以先注释掉,不影响结果 
    <globalConfiguration>
      <parameter name="sendMultiRefs" value="true"/>
      <parameter name="disablePrettyXML" value="true"/>
      <parameter name="adminPassword" value="admin"/>
      <parameter name="attachments.Directory" value="E:sotfWaressotfwareTomcatapache-tomcat-7.0.62-windows-x86apache-tomcat-7.0.62webapps	est_axis3WEB-INFattachments"/>
      <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="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
     <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
     <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> -->
     <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>
     
     <!-- 配置自己的服务  -->
     <service name="sayHello" provider="java:RPC">
           <parameter name="className" value="edu.hue.server.SayHelloImpl" />
           <parameter name="allowedMethods" value="*" />
     </service>
     
    </deployment>

    参数解释:name:为服务起的一个名字这里叫sayHello,然后下面的value="这里填的是你服务的实现类的全路径",差不多就这两个参数需要改动,其他的复制就可以了

    6.运行项目,浏览器输入:http://localhost:8080/test_axis3_stub/services,回车,就可以访问了。

      http://localhost:8080/test_axis3_stub(项目名)/services(服务的访问路径,在web.xml里就配置了拦截/services/*,故这里只需要输入services,就可以访问)

    这里说的都是简单的入门,如果涉及到复杂参数,如bean的传递,还需要下去研究。(貌似也需要在server-config.wsdd里面配置服务的时候,进行相关的配置)

      交流群:527038646  嘻嘻嘻

  • 相关阅读:
    制作文件的备份
    文件的读写
    文件的打开与关闭
    文件操作介绍
    数据类型转换
    位运算
    进制
    函数使用注意事项
    匿名函数
     递归函数
  • 原文地址:https://www.cnblogs.com/eleven258/p/7079582.html
Copyright © 2020-2023  润新知