tinalucky
2010-08-09 10:25
采纳率: 0%
浏览 279
已采纳

CXF调用.NET的WebService,并返回string[]数组问题

CXF调用.NET的WebService,在WebService中返回一个string[]数组,而在WSDL中描述为ArrayOfString,请问我该如果转化这个类型并取出数据?我是这样来调用的:
DynamicClientFactory dcf = DynamicClientFactory.newInstance();
org.apache.cxf.endpoint.Client client = dcf
.createClient("http://localhost:16249/WebSite1/Service.asmx?wsdl");
Object reply = null;
try {
reply = client.invoke("testArray", new Object[] {});
} catch (Exception e) {
e.printStackTrace();
}
Object[] replys = (Object[]) reply;
for (Object o : replys) {
System.out.println(o);
}
打印出来的是一个ArrayOfString类型。我该怎样取得里面的数据呢?这样调对不对?还有别的办法吗?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • oyj7454103 2010-08-09 10:34
    最佳回答

    这个是 ArrayOfString 的源码!相信你看了之后就知道咋遍历或者读内容了!

    一般你用工具生成 客户端的时候 这些都生成好了的!

    [code="java"]
    public class ArrayOfString {

    @XmlElement(required = true, nillable = true)
    protected List<String> string;
    
    
    public List<String> getString() {
        if (string == null) {
            string = new ArrayList<String>();
        }
        return this.string;
    }
    

    }
    [/code]

    ArrayOfString result = service.getWeateherByCity("北京");
    if(result != null) {
    List weathers = result.getString();
    for(int i = 0; i < weathers.size(); i++) {
    System.out.println(weathers.get(i));
    }

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题