📄 axiomclient.java
字号:
package samples.address.clients;
import java.io.PrintStream;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
public class AXIOMClient {
//给定服务端的URL
private static EndpointReference targetEPR =
new EndpointReference("http://132.159.172.104:8080/axis2/services/addressList");
/**
* 根据姓名查询通讯方式
* @param name
* @return
*/
public static OMElement getAdd(String name) {
//构建OM对象
OMFactory fac = OMAbstractFactory.getOMFactory();
//指定命名空间
OMNamespace omNs = fac.createOMNamespace("http://axiom.service.address.samples", "tns");
//创建OM元素
OMElement method = fac.createOMElement("getAdd", omNs);
OMElement value = fac.createOMElement("name", omNs);
//添加参数值name到value元素中
value.addChild(fac.createOMText(value, name));
//将value元素添加到method方法元素中
method.addChild(value);
return method;
}
/**
* 向服务端插入通讯方式
* @param name
* @param phone
* @return
*/
public static OMElement insertAdd(String name, String phone) {
//构建OM对象
OMFactory fac = OMAbstractFactory.getOMFactory();
//指定命名空间
OMNamespace omNs = fac.createOMNamespace("http://axiom.service.address.samples", "tns");
//创建OM元素
OMElement method = fac.createOMElement("insertAdd", omNs);
OMElement value1 = fac.createOMElement("name", omNs);
OMElement value2 = fac.createOMElement("phone", omNs);
//添加参数值name到value1元素中
value1.addChild(fac.createOMText(value1, name));
//添加参数值phone到value2元素中
value2.addChild(fac.createOMText(value2,phone));
//将value1元素添加到method方法元素中
method.addChild(value1);
//将value2元素添加到method方法元素中
method.addChild(value2);
return method;
}
/**
* 主函数入口
* @param args
*/
public static void main(String[] args) {
try {
String name ="webservice";
String phone="webservice@webservice.com";
//生成调用对象
OMElement getAdd = getAdd(name);
OMElement insertAdd = insertAdd(name, phone);
//设置服务端URL对象
Options options = new Options();
options.setTo(targetEPR);
//设置传输协议
options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
ServiceClient sender = new ServiceClient();
sender.setOptions(options);
//调用服务端insertAdd方法
sender.sendRobust(insertAdd);
//调用服务端getAdd方法
OMElement result = sender.sendReceive(getAdd);
//取得返回对象中的内容
String response = result.getFirstElement().getText();
//打印到屏幕上
System.out.println(name+"'s The address is : "+response);
} catch (Exception e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -