注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

和申的个人主页

专注于java开发,1985wanggang

 
 
 

日志

 
 

ApacheSOAP的WebServices在Tomcat4.0.4的安装和测试   

2009-09-25 19:09:24|  分类: 项目开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Apache SOAP  http://xml.apache.org/soap/index.html

Tomcat4.0.4 http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.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下

//SimpleMath.java

package test;

public class SimpleMath

{

 public double getSinValue(double input)

 {

  double ret = Math.sin(input);

  return ret;

 }

}

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

//SimpleMathClient.java

package test;

import java.io.*;

import java.net.*;

import java.util.*;

import org.apache.soap.util.xml.*;

import org.apache.soap.*;

import org.apache.soap.rpc.*;

public class SimpleMathClient

{

        public static void main(String[] args) throws Exception {

  System.err.println("SOAP call testing");

  double value = Math.random();

  SimpleMathClient smc = new SimpleMathClient();

  //调用远程的SOAP服务

  double returnValue = smc.doRequest(value);

  System.err.println("the sin value of "+value +"is: "+returnValue);

 }

 public double doRequest(double value) throws Exception {

  // Build the call.

  Call call = new Call ();

  //设置远程对象的URI

  call.setTargetObjectURI ("urn:test.math.sin");

  //设置调用的方法名

  call.setMethodName ("getSinValue");

  //设置编码风格

  call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);

  //设置方法调用的参数

  Vector params = new Vector ();

  params.addElement (new Parameter("input", double.class, new Double (value), null));

  call.setParams (params);

  //发送RPC请求

  Response resp = call.invoke (new URL("http://127.0.0.1:8080/soap/servlet/rpcrouter"),"");

  if (resp.generatedFault ()) {  //远程调用出错处理

   Fault fault = resp.getFault ();

   System.out.println ("the call failed: ");

   System.out.println ("  Fault Code   = " + fault.getFaultCode ());

   System.out.println ("  Fault String = " + fault.getFaultString ());

   return 0.0d;

  }

  else { //调用成功,获取返回值

   Parameter result = resp.getReturnValue ();

   return ((Double)result.getValue()).doubleValue();

  }

 }

}

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服务 应用开发详解

 

摘自:http://www.chinaitpower.com/A/2001-11-23/5736.html

  评论这张
 
阅读(468)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016