快速业务通道

在AIX Version 5.3中使用Java和PHP技术进行开发,第4部分

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
ata");
    }
    rs.close();
    s.close ();
  } catch (Exception ex) {
     System.out.println("SQLException (getting responseid): " +
               ex.getMessage());
  }
  return responseid;
}

这个 Web服务只需要返回生成的ID 所对应的整数。在这个实例中,WSDL2Java 转换器和Axis 库负责完成大多 数复杂的工作,所以您只需要从存根方法中返回一个整数。所生成的代码和Axis 将负责其他工作,并将 其转换为将进行更改并返回给客户端的SOAP 消息。

getSurveyQuestionCount 方法

getSurveyQuestionCount 方法是您需要创建的最简单的方法。这个方法不接受任何输入值,并且 仅返回一个整数。然而,它将通过您先前创建的initialize() 方法对 SurveyQuestion 对象的 Collection 的内部结构进行初始化(请参见清单 13)。

清单 13. getSurveyQuestionCount 方 法

public int getSurveyQuestionCount() throws java.rmi.RemoteException {
   this.initialize();
  return this.survey.size();
}

因为这个结构是 一个集合,所以您只需要使用size() 方法,就可以获得集合中对象的数目。这是一个整数,所以您可以 使用该值直接作为getSurveyQuestionCount 方法的返回值。

getSurveyQuestion 方法

getSurveyQuestion 方法为GetSurveyQuestion SOAP 方法实现了相应的代码。这个Web服务返回 三个值,即问题文本、问题帮助,以及一个Boolean 值(表示该问题是否包括选项)。

Java 语言 不支持多个返回值,所以 Axis服务接受对象作为该方法调用的一部分,然后您可以使用所需要的信息进 行填充。Axis工具包负责这个信息的实际转换工作,以及如何将其返回给 SOAP 客户端。

在调用 这个SOAP 方法时,您仍然只需要提供问题编号,因为它是唯一支持具有附加参数的SOAP 方法的内部方法 。

这个方法的功能非常简单。给定问题编号的输入,您可以遍历 SurveyQuestion 对象的 Collection,直到您找到所请求的问题,然后结束循环,填充相应的值,然后从该函数返回。清单 14 显 示了这个方法的完整源代码。

清单 14. getSurveyQuestion 方法

public void getSurveyQuestion(int in,
         javax.xml.rpc.holders.StringHolder questiontext,
         javax.xml.rpc.holders.StringHolder questionhelp,
         javax.xml.rpc.holders.BooleanHolder options)
  throws java.rmi.RemoteException {
  this.initialize();
  Integer counter = 0;
   SQWS.SurveyQuestion question = new SQWS.SurveyQuestion();
   Collection<SQWS.SurveyQuestion> survey =
     new ArrayList<SQWS.SurveyQuestion>(this.survey);
  for (Iterator<SurveyQuestion> i = survey.iterator(); i.hasNext(); ) {
     question = (SQWS.SurveyQuestion) i.next();
    if (counter == in) {
       break;
    }
  }
  questiontext.value = new java.lang.String (question.question_text);
  questionhelp.value = new java.lang.String (question.question_help);
  options.value = false;
  if (question.question_type.contentEquals("radio")) {
    options.value = true;
  }
}

当然,如果这个问题包括可用选项的特定集合,那么您需要创 建相应的方法以返回这些信息。

getSurveyQuestionOptions 方法

可用选项的列表作为一 个值的数组返回给客户端,因为该数组中每个值都是一个字符串,所以您可以使用SurveyQuestions 超类 中存储的字符串数组。

getSurveyQuestionOptio

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号