我用Axis2 1.41 写了个调用c# webservice的测试代码,调用后发现参数没有传过去,代码如下: public static void test10() throws AxisFault {
System.out.println("test10");
try {
EndpointReference targetEPR = new EndpointReference(
"http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx");
QName qName = new QName("http://WebXml.com.cn/", "getTVchannelString");
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
options.setTo(targetEPR);
options.setAction("http://WebXml.com.cn/getTVchannelString"); qName = new QName("http://WebXml.com.cn/","getTVchannelString");
Object[] opAddEntryArgs = new Object[] { 2 };//这里设置的参数是2
Class[] classes = new Class[]{ List.class };
Object[] results = serviceClient.invokeBlocking(qName,
opAddEntryArgs, classes);
ArrayList result = (ArrayList) results[0];
for (int i = 0; i < result.size(); i++) {
System.out.println(result.get(i));
}
} catch (AxisFault axisFault) {
axisFault.printStackTrace();
} }调用后程序返回的结果是<string xmlns="http://WebXml.com.cn/">没有电视频道数据</string>但是我通过Web浏览器调用返回的页面结果是:
<?xml version="1.0" encoding="utf-8" ?>
- <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://WebXml.com.cn/">
<string>1@BTV-1 北京卫视</string>
<string>2@BTV-2 文艺频道</string>
<string>3@BTV-3 科教频道</string>
<string>4@BTV-4 影视频道</string>
<string>5@BTV-5 财经频道</string>
<string>6@BTV-6 体育频道</string>
<string>7@BTV-7 生活频道</string>
<string>8@BTV-8 青少频道</string>
<string>9@BTV-9 公共频道</string>
<string>10@BTV-10 动画频道</string>
</ArrayOfString>请各位高手指出下是哪里设置的不对??其他方式的调用如果行得通也请介绍下,但最好还是使用RPCServiceClient的那种
调用的webservice网址:http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?op=getTVchannelString
小弟我新注册的账号,还没有积分
System.out.println("test10");
try {
EndpointReference targetEPR = new EndpointReference(
"http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx");
QName qName = new QName("http://WebXml.com.cn/", "getTVchannelString");
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
options.setTo(targetEPR);
options.setAction("http://WebXml.com.cn/getTVchannelString"); qName = new QName("http://WebXml.com.cn/","getTVchannelString");
Object[] opAddEntryArgs = new Object[] { 2 };//这里设置的参数是2
Class[] classes = new Class[]{ List.class };
Object[] results = serviceClient.invokeBlocking(qName,
opAddEntryArgs, classes);
ArrayList result = (ArrayList) results[0];
for (int i = 0; i < result.size(); i++) {
System.out.println(result.get(i));
}
} catch (AxisFault axisFault) {
axisFault.printStackTrace();
} }调用后程序返回的结果是<string xmlns="http://WebXml.com.cn/">没有电视频道数据</string>但是我通过Web浏览器调用返回的页面结果是:
<?xml version="1.0" encoding="utf-8" ?>
- <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://WebXml.com.cn/">
<string>1@BTV-1 北京卫视</string>
<string>2@BTV-2 文艺频道</string>
<string>3@BTV-3 科教频道</string>
<string>4@BTV-4 影视频道</string>
<string>5@BTV-5 财经频道</string>
<string>6@BTV-6 体育频道</string>
<string>7@BTV-7 生活频道</string>
<string>8@BTV-8 青少频道</string>
<string>9@BTV-9 公共频道</string>
<string>10@BTV-10 动画频道</string>
</ArrayOfString>请各位高手指出下是哪里设置的不对??其他方式的调用如果行得通也请介绍下,但最好还是使用RPCServiceClient的那种
调用的webservice网址:http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?op=getTVchannelString
小弟我新注册的账号,还没有积分
解决方案 »
- j2ee开发过程中问题--修改了servlet后,run结果并不显示修改后的结果
- Hibernate 配置一个过滤器CloseSessionFilter 不知道咋弄啊 救命救命啊
- 小弟刚刚对jsp servlet 有初步的了解,想学hibernate,structs前辈们给些建议。。
- ejb注入的问题
- 寻jsp的高手
- 请问CS架构能否在WebService保存Session?
- xml字符串解析成Document出错,求指导
- 表名要改了,我的cmp能通过相关设置的改变而不需要重新写一次吗?
- Struts的问题!如何将ActionForm,直接转换到Html的form中?
- 关于链接mysql的问题
- 请教如何做音乐播放器?
- STRUTS HTTP Status 404 - Servlet action is not available问题
ArrayList result = (ArrayList) results;