爱心技术专栏专题

ApacheSOAP的WebServices在Tomca

摘录:java 来源:java 加入时间:2006年08月11日
摘要:
ApacheSOAP的WebServices在Tomca
Apache SOAP的Web Services在Tomcat4.0.4的安装和测试
Author:疯傻 [email protected]

相关下载:

Apache SOAP  


转载:转载请保留本信息,本文来自
http://www.51dibs.com
/html/2006/article/info10/a_cee2ff4bdabf3710.htm

ApacheSOAP的WebServices在Tomca

站点:爱心种子小博士 关键字:ApacheSOAP的Web

   
Apache SOAP的Web Services在Tomcat4.0.4的安装和测试
Author:疯傻 [email protected]

相关下载:

Apache SOAP  
Tomcat4.0.4 

1.安装Apache SOAP到C盘根目录,即C:\soap-2_3_1

2.安装Tomcat4.0.4到C:\Program Files\Apache Tomcat 4.0

3.复制C:\soap-2_3_1\webapps\soap.war文件到C:\Program Files\Apache Tomcat 4.0\webapps目录下

4.建立测试目录C:\soaptest和C:\soaptest\classes

5.修改系统环境变量CLASSPATH,加入C:\soaptest\classes\test.jar

6.启动Tomca4.0.4,方法有两个:A.执行C:\Program Files\Apache Tomcat 4.0\bin\startup.ba;B.通过系统管理的服务管理开启Apache Tomcat4.0.4

7.建立测试java源文件,源文件应放置在目录C:\soaptest下

  1. //SimpleMath.java
  2. package test;
  3. public class SimpleMath
  4. {
  5.  public double getSinValue(double input)
  6.  {
  7.   double ret = .sin(input);
  8.   return ret;
  9.  }
  10. }

---第二个JAVA源文件----------------

  1. //SimpleMathClient.java
  2. package test;
  3. import java.io.*;
  4. import java.net.*;
  5. import java.util.*;
  6. import org.apache.soap.util.xml.*;
  7. import org.apache.soap.*;
  8. import org.apache.soap.rpc.*;
  9. public class SimpleMathClient
  10. {
  11.         public static void main([] args) throws  {
  12.   .err.println("SOAP call testing");
  13.   double value = .random();
  14.   SimpleMathClient smc = new SimpleMathClient();
  15.   //调用远程的SOAP服务
  16.   double returnValue = smc.doRequest(value);
  17.   .err.println("the sin value of "+value +"is: "+returnValue);
  18.  }
  19.  public double doRequest(double value) throws  {
  20.   // Build the call.
  21.   Call call = new Call ();
  22.   //设置远程对象的URI
  23.   call.setTargetObjectURI ("urn:test.math.sin");
  24.   //设置调用的方法名
  25.   call.setMethodName ("getSinValue");
  26.   //设置编码风格
  27.   call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
  28.   //设置方法调用的参数
  29.    params = new  ();
  30.   params.addElement (new Parameter("input"double.classnew  (value), null));
  31.   call.setParams (params);
  32.   //发送RPC请求
  33.   Response resp = call.invoke (new ("http://127.0.0.1:8080/soap/servlet/rpcrouter"),"");
  34.   if (resp.generatedFault ()) {  //远程调用出错处理
  35.    Fault fault = resp.getFault ();
  36.    .out.println ("the call failed: ");
  37.    .out.println ("  Fault Code   = " + fault.getFaultCode ());
  38.    .out.println ("  Fault String = " + fault.getFaultString ());
  39.    return 0.0d;
  40.   } 
  41.   else { //调用成功,获取返回值
  42.    Parameter result = resp.getReturnValue ();
  43.    return (()result.getValue()).doubleValue();
  44.   }
  45.  }
  46. }


8.编译java源文件,并打包
   a. cd c:\soaptest
   b. javac -d classes *.java
   c. cd classes
   d. jar -cvf test.jar test

9.SOAP服务的发布
   使用IE浏览器浏览http://localhost:8080/soap/admin/index.html,进入Deploy,填写如下信息:
   ID: urn:test.math.sin
   Scope: Request
   Methods getSinValue
   Provider Type: Java
   Java Provider Provider Class:  test.SimpleMath
   Java Provider Static: NO
   确认发布,可以点List查看已发布服务!

10.运行测试程序
   a. cd c:\soaptest
   b. java test.SimpleMathClien
   应该可以看到返回的数值,则证明配置和测试成功,以后就可以发布自己的SOAP服务了!

参考书籍: JavaWeb服务 应用开发详解


客户服务中心信箱:[email protected] [email protected] 网站地图

声明

合作伙伴: