AXIS+SPRING

本文详细介绍如何使用Spring框架整合Axis实现Web服务的搭建过程,包括所需Jar包配置、web.xml设置、Web服务类定义、server-config.wsdd文件配置及WSDL测试方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.我们将用到以下Jar:

引用

activation.jar
axis.jar
commons-discovery.jar
commons-logging.jar
jaxrpc.jar
log4j-1.2.15.jar
mail.jar
wsdl4j.jar
spring.jar

2.  web.xml

收藏代码

<?xml version="1.0" encoding="UTF-8"?>  

<web-app  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns="http://java.sun.com/xml/ns/javaee"  
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
    id="WebApp_ID"  
    version="2.5">  
    <display-name>spring-axis-1</display-name>  
    <context-param>  
        <param-name>log4jConfigLocation</param-name>  
        <param-value>classpath:log4j.xml</param-value>  
    </context-param>  
    <context-param>  
        <param-name>log4jRefreshInterval</param-name>  
        <param-value>60000</param-value>  
    </context-param>  
    <context-param>  
        <param-name>contextConfigLocation</param-name>  
        <param-value>/WEB-INF/applicationContext.xml</param-value>  
    </context-param>  
    <filter>  
        <filter-name>UTF-8 Filter</filter-name>  
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
        <init-param>  
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>  
        <init-param>  
            <param-name>forceEncoding</param-name>  
            <param-value>true</param-value>  
        </init-param>  
    </filter>  
    <filter-mapping>  
        <filter-name>UTF-8 Filter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping>  
    <listener>  
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  
    </listener>  
    <listener>  
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
    </listener>  
    <servlet>  
        <display-name>Apache-Axis Servlet</display-name>  
        <servlet-name>axis</servlet-name>  
        <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>  
        <load-on-startup>0</load-on-startup>  
    </servlet>  
    <servlet-mapping>  
        <servlet-name>axis</servlet-name>  
        <url-pattern>/services/*</url-pattern>  
    </servlet-mapping>  
</web-app> 

3.             定义Web服务类

 

package com.home.webservice;

import javax.annotation.Resource;
import javax.jws.WebService;

import com.home.pojo.User;
import com.home.service.IUserService;

@WebService(name="UserWebservice")
public class UserWebserviceImpl implements UserWebservice {
    @Resource
    IUserService userService;
    @Override
    public String getUserId(String Username) {
       
        System.out.println(Username);
        User u =new User();
        u.setName(Username);
        u=userService.getUserByName(u);
        String id = String.valueOf(u.getId());
        return id;
    }

}



4.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>
        <parameter name="adminPassword" value="admin" />
        <parameter name="sendXsiTypes" value="true" />
        <parameter name="sendMultiRefs" value="true" />
        <parameter name="sendXMLDeclaration" value="true" />
        <parameter name="axis.sendMinimizedElements" value="true" />
        <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="Authenticate"
        type="java:org.apache.axis.handlers.SimpleAuthenticationHandler" />
    <handler name="LocalResponder"
        type="java:org.apache.axis.transport.local.LocalResponder" />
    <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper" />
    <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/;
    </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>
    </transport>
    <transport name="local">
        <responseFlow>
            <handler type="LocalResponder" />
        </responseFlow>
    </transport>

    <service name="userWebservice" provider="java:RPC">
        <parameter name="className" value="com.home.webservice.UserWebserviceImpl" />
    </service>

</deployment> 

5.测试生成WSDL
dPgAAAAAAAAA&ek=1&kp=1&pt=0&bo=vgJAAAAAAAAFAN8%21&su=0166180433&sce=0-12-12&rf=2-9



dK8AAAAAAAAA&ek=1&kp=1&pt=0&bo=UAaAAgAAAAAFAPc%21&su=0183165761&sce=0-12-12&rf=2-9

转载于:https://my.oschina.net/java12/blog/739637

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值