java web service wsdl:从响应变量中获取数据

时间:2013-05-10 12:07:45

标签: java web-services wsdl

非常新的网络服务(你可以从Q中看出来)所以我很确定这是一个基本问题。

我正在向服务器发送请求

ExecuteSQLQueryReq sqlParams = new ExecuteSQLQueryReq();
sqlParams.setSql(sqlState.getNoDevInDP("LIV_Phones_DP"));

得到我期待的回应:

ExecuteSQLQueryRes getSqlResult = axlPort.executeSQLQuery(sqlParams);

我可以看到eclipse调试对象中的所有数据 enter image description here

但是从对象“getSqlResult”我不知道如何将数据拉出来。响应采用以下格式: enter image description here

任何帮助都会很棒

由于 亚历

编辑: “ExecuteSQLQueryRes”的屏幕截图。我看到的唯一方法是返回一个对象列表,我做了,你提到的eclipse中的变量的屏幕截图。它的下一步......如何从通用对象中获取数据..

enter image description here

1 个答案:

答案 0 :(得分:1)

从类型签名中,我会说你会像这样调用服务:

List<Object> rows = axlPort.executeSQLQuery(sqlParams)
                           .getReturn()
                           .getRow();
for(Object row : rows) {
    Element rowElement = (Element) row;
    // utilize DOM API
}

据我所知,您发布的信息是List Elements。在XML中:

<row>?</row>
<row>?</row>
<row>?</row>

由于rowanyType,因此无法推断其结构具体。在特定情况下,第一个条目看起来像假设一个子(文本)节点:

<row>339</row>

您可以使用Java DOM APIs访问数据。

从名称开始,此服务看起来就像暴露了底层数据库实现。如果您对服务设计有任何影响,请考虑遵守更严格的SOA原则。