📄 orderclient.java
字号:
package anni;
import java.net.*;
import javax.xml.namespace.*;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.ser.BeanSerializerFactory;
import org.apache.axis.encoding.ser.BeanDeserializerFactory;
public class OrderClient {
public static void main(String args[]) throws Exception {
Order order = new Order(); // JavaBean
order.setId("1");
String endpoint = "http://localhost:8080/axis/services/order"; // 服务所在位置
Service service = new Service();
Call call = (Call) service.createCall();
// 注册JavaBean,注意和server-config.wsdd中的配置代码比较
QName qn = new QName("urn:BeanService", "order");
call.registerTypeMapping(Order.class, qn, new BeanSerializerFactory(
Order.class, qn), new BeanDeserializerFactory(Order.class, qn));
String name = "no!";
try {
call.setTargetEndpointAddress(new URL(endpoint));
// 调用的服务器端方法
call.setOperationName(new QName("order", "returnOrder"));
// 设定传入的参数,这里qn即Order.class
call.addParameter("arg1", qn, ParameterMode.IN);
// 设定返回的参数是Order.class
call.setReturnType(qn, Order.class);
Order result = (Order) call.invoke(new Object[] { order });
if (result != null)
name = result.getName();
} catch (Exception ex) {
//System.err.println(ex);
}
System.out.println(name);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -