?? simplemathclient.java
字號(hào):
//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 void main(String[] args) throws Exception
{
System.err.println("SOAP call testing");
double value = Math.random();
SimpleMathClient smc = new SimpleMathClient();
//調(diào)用遠(yuǎn)程的SOAP服務(wù)
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 ();
//設(shè)置遠(yuǎn)程對(duì)象的URI
call.setTargetObjectURI ("urn:test.math.sin");
//設(shè)置調(diào)用的方法名
call.setMethodName ("getSinValue");
//設(shè)置編碼風(fēng)格
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
//設(shè)置方法調(diào)用的參數(shù)
Vector params = new Vector ();
params.addElement (new Parameter("input", double.class,
new Double (value), null));
call.setParams (params);
//發(fā)送RPC請(qǐng)求
Response resp = call.invoke (new URL("http://127.0.0.1:8080/soap/servlet/rpcrouter"),"");
if (resp.generatedFault ())
//遠(yuǎn)程調(diào)用出錯(cuò)處理
{
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;
}
//調(diào)用成功,獲取返回值
else
{
Parameter result = resp.getReturnValue ();
return ((Double)result.getValue()).doubleValue();
}
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -