axis1 创建service服务端 , axis1 客户端

 
axis1 服务端配置

1、首先建立一个项目 axisTest 不需多说  

2、在lib下放入需要的jar包  点击下载 :axis所需的jar包下载

3、然后需要在web.xml里面加入:

<servlet>
    <servlet-name>AxisServlet</servlet-name>
    <display-name>Apache-Axis Servlet</display-name>
    <servlet-class>
        org.apache.axis.transport.http.AxisServlet
    </servlet-class>
 </servlet>
 <servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/servlet/AxisServlet</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>*.jws</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
 </servlet-mapping>  


4、创建服务端的代码:

   package com.service;
   public class myService {
       public String getusername(String name){/**用spring的时候需要添加你要注入的bean
           baseTransaction = (BaseTransaction) getApplicationContext().getBean("baseTransaction")**/
           return "Hello "+name+",this is an Axis Web Service"
           }
   }   

5、在WEB-INF下创建service-config.wsdd 文件,内容如下:

< deployment   xmlns="http://xml.apache.org/axis/wsdd/"  xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" >
<handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/>   
   <service name="myService" provider="java:RPC">
       <!--这里的name是你的service名字 访问的时候要用得着的-->
       <parameter name="className" value="com.service.myService"/>
       <!--这里的value是你所提供的的供外部访问的方法所在的类-->
        <parameter name="allowedMethods" value="getusername"/>
        <!--供外部访问的方法-->
    </service>
<transport name="http">
 <requestFlow>
    <handler type="URLMapper"/>
 </requestFlow>
</transport>
</deployment>   
6、启动tomcat 访问地址: http://localhost:8080/axisTest/servlet/AxisServlet


axis1 客户端调用

package com.axistest;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class myServiceTestorByWSDD {
    public static void main(String[] argsthrows ServiceException,MalformedURLException, RemoteException {
    /**假如访问的时候有spring注入的情况 则需要 添加
    baseTransaction = (BaseTransaction) getApplicationContext().getBean("baseTransaction"); 来获取spring的注入信息。实在service层添加的。**/
    String endpoint = "http://localhost:8080/axisTest/services/myService";
    Service service = new Service(); // 创建一个Service实例,注意是必须的!
    Call call = (Call) service.createCall(); // 创建Call实例,也是必须的!
    call.setTargetEndpointAddress(new java.net.URL(endpoint));// 为Call设置服务的位置
    call.setOperationName("getusername"); // 注意方法名与JavaBeanWS.java中一样!!
    String res = (String) call.invoke(new Object[] { "邹萍" }); // 返回String,传入参数
    System.out.println(res);     
    }
}


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值