博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java axis webservice 开发实例
阅读量:7079 次
发布时间:2019-06-28

本文共 2879 字,大约阅读时间需要 9 分钟。

hot3.png

今天无事看了看webservice,通过网上自己也总结了一下,大概需要以下jar包
activation.jar
axis-ant.jar
axis.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
jaxrpc.jar
log4j-1.2.8.jar
mail-1.4.jar
saaj.jar

wsdl4j-1.5.1.jar

首先写deploy.wsdd代码如下:
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="" target="_blank">http://xml.apache.org/axis/wsdd/providers/java">
  <service name="HelloWorld" provider="java:RPC">
    <parameter name="className" value="com.wdg.MyLogin"/>
    <parameter name="allowedMethods" value="*"/>
  </service>
</deployment>
启动tomcat ,运行-cmd  到deploy.wsdd文件所在目录下使用命令
D:\Tomcat 6.0\webapps\mywebservices\WEB-INF>java -Djava.ext.dirs="D:\Tomcat 6.0\webapps\mywebservices\WEB-INF\lib" org.apache.axis.client.AdminClient deploy.wsdd
通过此操作来得到一个server-config.wsdd文件,此操作可以跳过直接找个server-config.wsdd文件改一下即可使用;

server-config.wsdd文件与web.xml放在同级目录下,代码如下:

<?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="sendMultiRefs" value="true"/>
  <parameter name="disablePrettyXML" value="true"/>
  <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"/>
</globalConfiguration>
  <handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/>  
  <service name="MyLogin.jws" provider="java:RPC">   
     <parameter name="className" value="com.wdg.MyLogin"/>
     <parameter name="scope" value="request"/>
     <parameter name="allowedMethods" value="*"/>
     <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
  </service>   
  <transport name="http">   
     <requestFlow>   
        <handler type="URLMapper"/>   
     </requestFlow>   
  </transport>   
</deployment>

类文件MyLogin

package com.wdg;
public class MyLogin {
public String login(String name,String pwd){
return "用户名:"+name+"\n用户密码:"+pwd;
}
}

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>

运行url->http://localhost:8080/mywebservices/services

测试类调用service中的方法
// 指出service所在URL
String url = "http://localhost:8080/mywebservices/services/MyLogin.jws";
// 创建一个服务(service)调用(call)
Service service = new Service();
// 通过service创建call对象
Call call = (Call) service.createCall();
// 设置service所在URL
call.setTargetEndpointAddress(new java.net.URL(url));
// 调用service端方法名
call.setOperationName("login");
// Object 数组封装了参数
String strs = (String) call.invoke(new Object[] { "XXX","***" });
System.out.println(strs);

转载于:https://my.oschina.net/freelife/blog/105710

你可能感兴趣的文章
Centos7 Snapper快照备份
查看>>
cdn
查看>>
每一天的成长由此开始
查看>>
swift开发中如何将时间显示为几分钟前、几小时前、几天前、几个月前
查看>>
某店订单系统水平分库的实践之路以及关键步骤
查看>>
Oracle GoldenGate 快速安装配置实用指南
查看>>
我的友情链接
查看>>
iOS 图片合并 及截图
查看>>
easyui datagrid load 方法键不能为变量的解决
查看>>
分治的一次简单实践
查看>>
博为峰Java面试题-JavaSE I/O之File写入读出
查看>>
USER username (Login failed): Invalid shell: '/bin/false'
查看>>
我的友情链接
查看>>
Linux下整合Apache和Tomcat
查看>>
桌面图标右键选择发送到就会出现卡住假死
查看>>
关于旅行的文章..............搜集
查看>>
golang接口的使用(练习一)
查看>>
linux笔记之DNS服务配置(一)
查看>>
我的友情链接
查看>>
Nginx HTTP负载均衡和反向代理配置
查看>>