67,512
社区成员
发帖
与我相关
我的任务
分享
public class Math {
public float add(float a, float b) {
return a+b;
}
}
<service name="Math" provider="java:RPC" style="wrapped" use="literal">
<operation name="add" qname="ns1:Add" returnQName="ns1:AddResult" returnType="xsd:float" soapAction="" xmlns:ns1="http://math.samples/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<parameter qname="ns1:A" type="xsd:float"/>
<parameter qname="ns1:B" type="xsd:float"/>
</operation>
<parameter name="allowedMethods" value="add"/>
<parameter name="className" value="samples.math.Math"/>
<parameter name="wsdlTargetNamespace" value="http://math.samples/"/>
</service>
public class MathClient {
/**
* @param args
*/
public static void main(String[] args) {
String url = "http://localhost:8080/axis/services/Math";
Service svc = new Service();
try {
Call call = (Call) svc.createCall();
call.setTargetEndpointAddress(url);
call.setOperationName(new QName(url, "add"));
Object obj = call.invoke(new Object[] {
new Float(3.0), new Float(1.0) });
System.out.println("obj="+obj);
if(obj instanceof Float) {
System.out.println((Float)obj);
}
String returnValue = (String) obj;//可以转换
System.out.println("===returnValue=" + returnValue);
Float returnValue2 = (Float) obj;//类型转换错误
System.out.println("===returnValue2=" + returnValue2);
} catch (ServiceException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}
}
}