当前位置:编程学习 > C#/ASP.NET >>

Apache SOAP的Web Services在Tomcat4.0中出错

//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();
}
}
}


代码应该没有错,我网上找的,但是不能发布啊 --------------------编程问答-------------------- 你这是java的代码啊,我看上去貌似没问题,那你看看是不是相关的配置文档出错了导致不能正常发布 --------------------编程问答-------------------- 1. 你这是JAVA,发错区了
2. 你这是Client端的代码, 不可能发布的
补充:.NET技术 ,  Web Services
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,