我用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
小弟我新注册的账号,还没有积分