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、创建服务端的代码:

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 客户端调用

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[] args) throws 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);
}
}

  

最新文章

  1. Objc Block
  2. 1. IOS 9.3.3描述文件没了处理方法
  3. c# 基本知识 ref 和 out
  4. POJ 1607
  5. ACM2033
  6. C# : 操作Word文件的API - (将C# source中的xml注释转换成word文档)
  7. 利用MVC的过滤器实现url的参数加密和解密
  8. ZOJ 2760 How Many Shortest Path
  9. C++多态的实现原理
  10. 写一些脚本的心得总结系列第4篇-------从数据库同步到redis
  11. Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&amp;arch=x86_64&amp;repo=os&amp;infra=stock32 error was 14: curl#6 - &quot;Could not resolve host: mirrorlist.centos.org; Unknown error&quot;
  12. 【原】Java学习笔记023 - 字符串缓冲区_正则表达式
  13. sourceTree 代码未同步合并
  14. css第三天
  15. 大数据入门到精通19--mysql 数据导入到hive数据中
  16. influence maximization
  17. oracle建表流程
  18. [转]MySql ibdata1文件太大如何缩小
  19. 今日Q群:QQ群众群友反馈问题的归纳总结
  20. web前端设计规范

热门文章

  1. 利用C#访问注册表获取软件的安装路径
  2. android的android.intent.action.MAIN
  3. Nginx 关闭日志生成文件
  4. 【css】正确的让文本换行
  5. day 11 - 2 装饰器练习
  6. MySQL去重案列(待更新...)
  7. MGR 架构 ~ DBA相关运维管理
  8. 《SSH网上商城》-视频目录--代码可以跑起来
  9. 用v-for进行table循环
  10. Markdown超链接及脚注