Java资源网

| JAVA基础 | 环境配置 | JDBC | 线程技术 | Socket编程 | JavaMail | JAVA与XML | 设计模式 | 技术新闻 | Java认证 | 程序人生 软件下载
| JSP&Servlet | Spring | Struts | Hibernate | JBuilder | Eclipse | WebService | EJB技术 | J2ME开发 | 应用服务器 | JXTA | Ajax
Articles search文章搜索
   关键字:
   类 别:
       
New download 最新下载
· [组件]HTML Parser 1.5
· [教程]WebSphere Studio应用教程
· [组件]JDom 1.0
· [工具]Junit3.8.1
· [教程]EJB编程及J2EE系统架构和设计
· [教程]EJB教程
· [教程]J2EE Tutorial中文版
· [教程]Java编程思想2(英文)
· [教程]java编程思想(完整版)
· [教程]Java网络编程
New articles 最新文章
· 设计移动 Web 服务
· 解析XML的时候完全忽略DTD
· 理解XML Schema XML Schema 初步
· 标签库的深入研究
· 提升JSP应用程序的七大绝招
· 如何使用JDOM对XML文件进行操作
· 处理XML字符串中特殊字符
· 利用Digester把XML转换成为Java对象
· 使用WebService 和RMI远程协作
· 使用Axis开发Web Service程序
Articles top 热门文章
· Eclipse基础--plugin插件安装(6644)
· eclipse+tomcat+lomboz的安装配置说明(4774)
· Java程序员就业前景(4584)
· Windows下JAVA环境变量的设置祥解(3788)
· Tomcat下JSP、Servlet和JavaBean环境的配置(3716)
· 使用links方式安装Eclipse插件(3698)
· 一个老程序员的心理话(3533)
· linux下jdk的安装与配置(3459)
· 初学者入门:Structs中基本配置入门(3334)
· Eclipse 运行命令行参数大全(3084)
您的位置:首页>>Web Service>>axis 的客户端使用
axis 的客户端使用
2007-04-17   来源:Java资源网  作者:Java资源网

1. http://ws.apache.org/Axis/下载 axis-1_2_1 解压放在 D:\softSetup\下

2.下载 apache-ant-1.6.1  解压放在D:\softSetup\下

3.环境变量设置:

JAVA_HOME=C:\jdk1.5.0_06
CATALINA_HOME=tomcat-5.5.15
ANT_HOME=D:\softSetup\apache-ant-1.6.1
AXISCLASSPATH=%AXIS_LIB%\activation.jar;%AXIS_LIB%\mail.jar;%AXIS_LIB%\axis.jar;%AXIS_LIB% \wsdl4j.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%\xerces.jar;%AXIS_LIB%\junit.jar;%AXIS_LIB%\wsdl4j-1.5.1.jar
AXIS_HOME=D:\softSetup\axis-1_2_1
AXIS_LIB=%AXIS_HOME%\lib
CATALINA_HOME=D:\softSetup\jakarta-tomcat-5.0.24
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%AXISCLASSPATH%
path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%CATALINA_HOME%\bin;%ANT_HOME%\bin

4.在命令行 运行set 确保新加的环境变量生效

5.根据合作伙伴给的wsdl地址 http://www.****.com/services/OrderService?wsdl保存下来到D:\project\test\wsdl\OrderService.wsdl

6.在命令行 切换到 D:\project\test\wsdl\下运行axis的WSDL2Java 命令:  java org.apache.axis.wsdl.WSDL2Java OrderService.wsdl    生成 bean 文件,***Service.java,***ServiceLocator.java,***ServiceSoapBindingStub.java 等文件,可以用Axis的wsdl2java生成web service的客户端,wsdl2java生成的客户端是stub方式的。它包括endpoint借口、实现该接口的stub、 serviceLocator、可选的单元测试代码。其中,serviceLocator中hard code了服务端地址.

7. 应用.写一个表单jsp,提交到下面jsp文件进行处理(可以写在类里,此处简单处理)

<%@ page contentType="text/html; charset=GBK"%>
<%@page import="org.apache.axis.client.Call"%>
<%@page import="javax.xml.namespace.QName"%>
<%@page import="java.net.MalformedURLException"%>
<%@page import="java.rmi.RemoteException"%>
<%@page import="java.util.*"%>
<%@page import="java.net.URL"%>
<%@page import="org.apache.axis.client.Service"%>
<%@page import="com.newSky.datainterface.beans.*"%>
<%!

  private final static String success = "测试完成";
  private final static String fail = "测试失败:";
  final static String endPoint = "http://www.***.com/services/OrderService";
  final static String portName = "addNewOrder";
  final static String nameSpace = "http://beans.datainterface.newSky.com";
%>
<html>
<head></head>
<body>
<%
  try {
    Call call = null;
    URL url = null;
    try {
      //create new url
      url = new URL(endPoint);
    }
    catch (MalformedURLException e) {
      System.out.println(fail + e.getMessage());
      e.printStackTrace();
    }
    //create new service
    Service service = new Service();
    try {
      //create new call
      call = (Call) service.createCall();
    }
    catch (Exception se) {
      System.out.println(fail + se.getMessage());
      se.printStackTrace();
    }
    //设置服务器
    call.setTargetEndpointAddress(url);
    //设置端口
    call.setOperationName(new QName(endPoint, portName));
    //***********************
     //注册类,开始
     try {
       QName qn1 = new QName(nameSpace, "OrderUserData");
       call.registerTypeMapping(OrderUserData.class, qn1,
                                new org.apache.axis.encoding.ser.BeanSerializerFactory(OrderUserData.class, qn1),
                                new org.apache.axis.encoding.ser.BeanDeserializerFactory(OrderUserData.class, qn1));
     
     }
     catch (Exception EQ) {
       EQ.printStackTrace();
     }
    //注册类,结束
    //设置返回类型
    // set bean 此处省略。。
    try {
      //调用服务
      System.out.println("*************  测试开始 ******************");
      call.setUsername(request.getParameter("id"));
      String result = (String) call.invoke(new Object[] {new Integer(request.getParameter("id)),
                                             new String(request.getParameter("pwd")), orderData});
      System.out.println(result);

      if(result.equals("-100")){
        out.write("用户名密码错误");
      }
       else{
        out.write("成功");
      }
      System.out.println("*************  测试完成 ******************");
    }
    catch (RemoteException re) {
      System.out.println(fail + re.getMessage());
      //re.printStackTrace();
    }
  }
  catch (Exception e) {
    // e.printStackTrace();
  }
%>
</body>
</html>

8. ok ^_^

  --相关文章--
· 设计移动 Web 服务 (2007-04-17)
· 解析XML的时候完全忽略DTD (2007-04-17)
· 理解XML Schema XML Schema 初步 (2007-04-17)
· 标签库的深入研究 (2007-04-17)
· 提升JSP应用程序的七大绝招 (2007-04-17)
· 如何使用JDOM对XML文件进行操作 (2007-04-17)

版权所有©2005-2006 JAVA资源网 渝ICP备05007591号 虚拟主机 | 关于我们 | 联系方式 | 广告业务 | 网站地图 | 友情链接