rpccalltest.java
来自「开源的axis2框架的源码。用于开发WEBSERVER」· Java 代码 · 共 489 行 · 第 1/2 页
JAVA
489 行
Person p3 = new Person();
p3.setAge(20);
p3.setName("P3");
ps.add(p3);
com.setPersons(ps);
ArrayList args = new ArrayList();
args.add(com);
args.add(com);
args.add(com);
args.add(com);
ArrayList req = new ArrayList();
req.add(args.toArray());
OMElement value = sender.invokeBlocking(new QName("http://rpc.axis2.apache.org", "testCompanyArray", "req"), req.toArray());
assertEquals("4", value.getFirstElement().getText());
}
public void testCompanyArray() throws AxisFault {
RPCServiceClient sender = getRPCClient("EchoXMLService", "CompanyArray");
Company com = new Company();
com.setName("MyCompany");
ArrayList ps = new ArrayList();
Person p1 = new Person();
p1.setAge(10);
p1.setName("P1");
ps.add(p1);
Person p2 = new Person();
p2.setAge(15);
p2.setName("P2");
ps.add(p2);
Person p3 = new Person();
p3.setAge(20);
p3.setName("P3");
ps.add(p3);
com.setPersons(ps);
ArrayList args = new ArrayList();
args.add(com);
args.add(com);
args.add(com);
args.add(com);
ArrayList req = new ArrayList();
req.add(args.toArray());
ArrayList resobj = new ArrayList();
resobj.add(Company.class);
resobj.add(Company.class);
resobj.add(Company.class);
resobj.add(Company.class);
Object [] value = sender.invokeBlocking(new QName("http://rpc.axis2.apache.org", "CompanyArray", "req"), req.toArray(),
(Class[])resobj.toArray(new Class[resobj.size()]));
assertEquals(4, value.length);
assertEquals(((Company)value[0]).getName(), "MyCompany");
}
public void testEchoOM() throws AxisFault {
RPCServiceClient sender = getRPCClient("EchoXMLService", "echoOM");
ArrayList args = new ArrayList();
args.add("1");
OMElement response = sender.invokeBlocking(new QName("http://rpc.axis2.apache.org", "echoOM", "req"), args.toArray());
assertEquals(Byte.parseByte(response.getFirstElement().getFirstElement().getText()), 1);
}
public void testCalender() throws AxisFault {
zulu.setTimeZone(TimeZone.getTimeZone("GMT"));
RPCServiceClient sender = getRPCClient("EchoXMLService", "echoCalander");
ArrayList args = new ArrayList();
Date date = Calendar.getInstance().getTime();
args.add(zulu.format(date));
OMElement response = sender.invokeBlocking(new QName("http://rpc.axis2.apache.org", "echoCalander", "req"), args.toArray());
assertEquals(response.getFirstElement().getText(), zulu.format(date));
}
////////////////////////////////////////////////// Invoking by Passing Return types //////////
public void testechoBean2() throws AxisFault {
RPCServiceClient sender = getRPCClient("EchoXMLService", "echoBean");
MyBean bean = new MyBean();
bean.setAge(100);
bean.setName("Deepal");
bean.setValue(false);
AddressBean ab = new AddressBean();
ab.setNumber(1010);
ab.setTown("Colombo3");
bean.setAddress(ab);
ArrayList args = new ArrayList();
args.add(bean);
ArrayList ret = new ArrayList();
ret.add(MyBean.class);
Object [] response = sender.invokeBlocking(new QName("http://rpc.axis2.apache.org", "echoBean", "req"), args.toArray(),
(Class[])ret.toArray(new Class[ret.size()]));
MyBean resBean = (MyBean)response[0];
assertNotNull(resBean);
assertEquals(resBean.getAge(), 100);
}
public void testechoInt2() throws AxisFault {
RPCServiceClient sender = getRPCClient("EchoXMLService", "echoInt");
ArrayList args = new ArrayList();
args.add("100");
ArrayList ret = new ArrayList();
ret.add(Integer.class);
Object [] response = sender.invokeBlocking(new QName("http://rpc.axis2.apache.org", "echoInt", "req"), args.toArray(),
(Class[])ret.toArray(new Class[ret.size()]));
assertEquals(((Integer)response[0]).intValue(), 100);
}
// public void testmultireturn() throws AxisFault {
// configureSystem("multireturn");
//
// Options options = new Options();
// options.setTo(targetEPR);
// options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
//
// ConfigurationContext configContext =
// ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null);
// RPCServiceClient sender = new RPCServiceClient(configContext, null);
// sender.setOptions(options);
//
// ArrayList args = new ArrayList();
// args.add("1");
//
// ArrayList ret = new ArrayList();
// ret.add(Integer.class);
// ret.add(String.class);
//
// Object [] response = sender.invokeBlocking(operationName, args.toArray(), ret.toArray());
// assertEquals(((Integer) response[0]).intValue(), 10);
// assertEquals(response[1], "foo");
// }
public void testStringArray() throws AxisFault {
RPCServiceClient sender = getRPCClient("EchoXMLService", "handleStringArray");
ArrayList args = new ArrayList();
String [] values = new String[] { "abc", "cde", "efg" };
args.add(values);
ArrayList ret = new ArrayList();
ret.add(Boolean.class);
Object [] objs = sender.invokeBlocking(new QName("http://rpc.axis2.apache.org", "handleStringArray", "req"), args.toArray(),
(Class[])ret.toArray(new Class[ret.size()]));
assertNotNull(objs);
assertEquals(Boolean.TRUE, Boolean.valueOf(objs[0].toString()));
}
public void testmultiArrays() throws AxisFault {
RPCServiceClient sender = getRPCClient("EchoXMLService", "multiArrays");
ArrayList args = new ArrayList();
String [] values = new String[] { "abc", "cde", "efg" };
args.add(values);
String [] values2 = new String[] { "abc", "cde", "efg" };
args.add(values2);
String [] values3 = new String[] { "abc", "cde", "efg" };
args.add(values3);
args.add("10");
ArrayList ret = new ArrayList();
ret.add(Integer.class);
Object [] objs = sender.invokeBlocking(new QName("http://rpc.axis2.apache.org", "multiArrays", "req"), args.toArray(),
(Class[])ret.toArray(new Class[ret.size()]));
assertNotNull(objs);
assertEquals(19, Integer.parseInt(objs[0].toString()));
}
public void testmulReturn() throws AxisFault {
RPCServiceClient sender = getRPCClient("EchoXMLService", "mulReturn");
ArrayList args = new ArrayList();
args.add("foo");
OMElement element = sender.invokeBlocking(new QName("http://rpc.axis2.apache.org", "mulReturn", "req"), args.toArray());
System.out.println("element = " + element);
// assertEquals(response.getFirstElement().getText(), "foo");
}
public void testhandleArrayList() throws Exception {
RPCServiceClient sender = getRPCClient("EchoXMLService", "handleArrayList");
OMElement elem = sender.sendReceive(getPayload());
assertEquals(elem.getFirstElement().getText(), "abcdefghiklm10");
}
public void testomElementArray() throws Exception {
RPCServiceClient sender = getRPCClient("EchoXMLService", "omElementArray");
String str = "<req:omElementArray xmlns:req=\"http://rpc.axis2.apache.org\">\n" +
" <arg0><abc>vaue1</abc></arg0>\n" +
" <arg0><abc>vaue2</abc></arg0>\n" +
" <arg0><abc>vaue3</abc></arg0>\n" +
" <arg0><abc>vaue4</abc></arg0>\n" +
"</req:omElementArray>";
StAXOMBuilder staxOMBuilder;
XMLStreamReader xmlReader = StAXUtils.createXMLStreamReader(new
ByteArrayInputStream(str.getBytes()));
OMFactory fac = OMAbstractFactory.getOMFactory();
staxOMBuilder = new StAXOMBuilder(fac, xmlReader);
OMElement elem = sender.sendReceive(staxOMBuilder.getDocumentElement());
assertEquals("4", elem.getFirstElement().getText());
}
private OMElement getPayload() throws Exception {
String str = "<req:handleArrayList xmlns:req=\"http://rpc.axis2.apache.org\">\n" +
" <arg0>\n" +
" <item0>abc</item0>\n" +
" <item0>def</item0>\n" +
" <item0>ghi</item0>\n" +
" <item0>klm</item0>\n" +
" </arg0><arg1>10</arg1>" +
"</req:handleArrayList>";
StAXOMBuilder staxOMBuilder;
XMLStreamReader xmlReader = StAXUtils.createXMLStreamReader(
new ByteArrayInputStream(str.getBytes()));
OMFactory fac = OMAbstractFactory.getOMFactory();
staxOMBuilder = new StAXOMBuilder(fac, xmlReader);
return staxOMBuilder.getDocumentElement();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?