带参数的方法调用
来源:互联网 发布:打开淘宝自动跳转 编辑:程序博客网 时间:2024/05/18 00:22
上面的HelloWorld的实例中,getMessage方法是没有参数的,这一节我们来加一个参数。
(1)将HelloWorldService.java修改如下:
package cn.com.chengang.soap.hello;
public class HelloWorldService {
public String getMessage() {
return "Hello World!";
}
public String getMessage(String str) {
return "Hello World! " + str;
}
public String getMessage(String str1, String str2) {
return "Hello World! " + str1 + "&" + str2;
}
}
(2)将HelloWorldService.class复制到Tomcat的“Tomcat 5.0\common\classes\cn\com\chengang\soap\hello”目录下,覆盖原来的HelloWorldService.class。
(3)重启Tomcat服务。
(4)修改HelloWorldClient程序如下(红字部份是新加的):
package cn.com.chengang.soap.hello;
import java.net.URL;
import java.util.Vector;
import org.apache.soap.Constants;
import org.apache.soap.Fault;
import org.apache.soap.rpc.Call;
import org.apache.soap.rpc.Parameter;
import org.apache.soap.rpc.Response;
public class HelloWorldClient {
public static void main(String args[]) throws Exception {
String endPoint = "http://localhost:8080/soap/servlet/rpcrouter";
Call call = new Call();//创建一个RPC Call
call.setTargetObjectURI("urn:HelloWorldService");//远程的服务名
call.setMethodName("getMessage");//访问方法
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC); //设置编码风格
Vector params = new Vector();
Parameter p1 = new Parameter("name", String.class, "陈刚", null);
Parameter p2 = new Parameter("name2", String.class, "陈勇", null);
params.addElement(p1);
params.addElement(p2);
call.setParams(params);
URL url = new URL(endPoint); //SOAP服务的网址
//开始发送RPC请求,并返回服务器端的应答
Response resp = call.invoke(url, "");
//检查应答报文中是否有错
//有错就打印出错信息,没错就打印到正确的返回值HelloWorld
if (resp.generatedFault()) {
Fault fault = resp.getFault();
System.out.println("The Following Error Occured: ");
System.out.println(" Fault Code = " + fault.getFaultCode());
System.out.println(" Fault String =" + fault.getFaultString());
} else {
Parameter result = resp.getReturnValue();
System.out.println(result.getValue());
}
}
}
package cn.com.chengang.soap.hello;
import java.net.URL;
import java.util.Vector;
import org.apache.soap.Constants;
import org.apache.soap.Fault;
import org.apache.soap.rpc.Call;
import org.apache.soap.rpc.Parameter;
import org.apache.soap.rpc.Response;
public class HelloWorldClient {
public static void main(String args[]) throws Exception {
String endPoint = "http://localhost:8080/soap/servlet/rpcrouter";
Call call = new Call();//创建一个RPC Call
call.setTargetObjectURI("urn:HelloWorldService");//远程的服务名
call.setMethodName("getMessage");//访问方法
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC); //设置编码风格
Vector params = new Vector();
Parameter p1 = new Parameter("name", String.class, "陈刚", null);
Parameter p2 = new Parameter("name2", String.class, "陈勇", null);
params.addElement(p1);
params.addElement(p2);
call.setParams(params);
URL url = new URL(endPoint); //SOAP服务的网址
//开始发送RPC请求,并返回服务器端的应答
Response resp = call.invoke(url, "");
//检查应答报文中是否有错
//有错就打印出错信息,没错就打印到正确的返回值HelloWorld
if (resp.generatedFault()) {
Fault fault = resp.getFault();
System.out.println("The Following Error Occured: ");
System.out.println(" Fault Code = " + fault.getFaultCode());
System.out.println(" Fault String =" + fault.getFaultString());
} else {
Parameter result = resp.getReturnValue();
System.out.println(result.getValue());
}
}
}
(6)在Eclipse中运行HelloWorldClient
参考资料
http://blog.csdn.net/caiyi0903/archive/2004/01/20/18036.aspx
http://blog.csdn.net/caiyi0903/archive/2004/01/20/18036.aspx
http://blog.csdn.net/caiyi0903/archive/2004/01/20/18037.aspx
http://blog.csdn.net/madfool/archive/2002/08/17/11309.aspx
- 带参数的方法调用
- C#线程调用带参数的方法
- C#线程调用带参数的方法
- JS调用后台带参数的方法
- C#线程调用带参数的方法 ~
- JS调用后台带参数的方法
- PHP中带参数方法的调用
- JS调用后台带参数的方法
- JS调用后台带参数的方法
- C#线程调用带参数的方法 ~
- c# 调用带参数的js方法
- javascript调用后台带参数的方法
- C#线程调用带参数的方法
- C#线程调用带参数的方法
- C#线程调用带参数的方法
- JS调用后台带参数的方法
- 线程调用带参数的方法
- C#线程调用带参数的方法 ~
- 虚拟键码一览表
- onSaveInstanceState和onRestoreInstanceState的触发时机
- 今天学习的邮箱核心添加附件代码
- D3DXCreateTextureFromResource in DLL
- 运用JavaScript构建你的第一个Metro式应用程序(onWindows 8)(二)
- 带参数的方法调用
- SQL 复制数据库里面的表到另一个表
- Oracle字符集
- 企鹅快跑:腾讯敏捷历程揭秘
- 从表中插入数据到另外一张表
- HDU 3221
- jsp中获取本机ip
- 测试oracle支持的字段个数!
- 我的第一个安卓程序