现在的位置: 首页 > 综合 > 正文

总结axis WSDL2Java的使用

2013年05月29日 ⁄ 综合 ⁄ 共 2465字 ⁄ 字号 评论关闭

首先搭建axis服务

1.解压axis-bin-1_4.tar.gz文件。(如:E:\axis-bin-1_4\axis-1_4)

2.环境变量加入 

AXIS_HOME  

E:\axis-bin-1_4\axis-1_4

AXIS_LIB 

%AXIS_HOME%/lib

AXIS_CLASSPATH 

%AXIS_LIB%/activation.jar;
%AXIS_LIB%/mail.jar;
%AXIS_LIB%/xmlsec-1.5.0.jar;
%AXIS_LIB%/axis.jar;
%AXIS_LIB%/axis-ant.jar;
%AXIS_LIB%/commons-discovery-0.2.jar;
%AXIS_LIB%/commons-logging-1.0.4.jar;
%AXIS_LIB%/jaxrpc.jar;
%AXIS_LIB%/saaj.jar;
%AXIS_LIB%/log4j-1.2.8.jar;
%AXIS_LIB%/wsdl4j-1.5.1.jar

classpath   %AXIS_CLASSPATH%

3.myeclipse中新建webproject “myaxis” 导入相关jar包,在“E:\axis-bin-1_4\axis-1_4\lib”中找

4.新建服务端类:webservice.axis.wsdd.HelloWorldWSDD.java

package webservice.axis.wsdd;

public class HelloWorldWSDD {

    public String sayHello(String name) {
        
        System.out.println("hello !" + name);
        return "hello : " + name;
    }
}

在web-INFO下建立deploy.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">
<service name="HelloWorldWSDD" provider="java:RPC">
<parameter name="className"
value="webservice.axis.wsdd.HelloWorldWSDD" />
<parameter name="allowedMethods" value="*" />
<parameter name="scope" value="request" />
</service>
</deployment>

一、java2WSDL

在tomcat中部署此工程并启动之,然后win+R 输入cmd

进入“E:\Tomcat 6.0\webapps\myaxis\WEB-INF>”,输入java org.apache.axis.client.AdminClient deploy.wsdd -lhttp://127.0.0.1:8000/myaxis/services/AdminService回车

查看“E:\Tomcat 6.0\webapps\myaxis\WEB-INF”目录下生成文件“server-config.wsdd”。

浏览器中键入“http://localhost:8000/myaxis/servlet/AxisServlet”查看已部署的服务端HelloWorldWSDD

5.新建客户端类webservice.axis.wsdd.ClientWSDD.java 测试

package webservice.axis.wsdd;


import javax.xml.namespace.QName;


import org.apache.axis.client.Call;
import org.apache.axis.client.Service;


public class ClientWSDD {


public static void main(String[] args) {
try {

String url = "http://localhost:8000/myaxis/services/HelloWorldWSDD";
Service s = new Service();
Call c = (Call) s.createCall();
c.setTargetEndpointAddress(url);
c.setOperationName(new QName(url,"sayHello"));
String result = (String) c.invoke(new Object[] {"beyond"});

System.out.println("result = " + result);

} catch (Exception e) {
e.printStackTrace();
}
}
}

运行之即可。

二、利用WSDL2Java工具生成工程(用.wsdl文件生成java工程)

win+R --> cmd 输入“java org.apache.axis.wsdl.WSDL2Java”测试环境变量是否配置正确

命令格式:java org.apache.axis.wsdl.WSDL2Java -o [文件夹名] -d Session -s -S true [wsdl文件名]

输入“java org.apache.axis.wsdl.WSDL2Java -o Server000 -d Session -s -S true EpamsServices.wsdl”生成服务端代码

输入“java org.apache.axis.wsdl.WSDL2Java -o Client -d Session -S true EpamsServices.wsdl”生成客户端代码

将server文件夹中的文件copy到myaxis的src目录下,然后将deploy.wsdd文件拷贝到web-info中进行生成“server-config.wsdd”文件

方法见第一步。

抱歉!评论已关闭.