快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
所以您需要引入一个新的包,这个包允许您与相 同包中的其他类之间共享私有对象和类。要实现这一点,创建一个新的包 (SQWS) 并在现有的Survey, SurveyQuestion和SurveyQuestion*类的顶部添加一项包定义,如下所示:package SQWS。

WSDL2Java类在SQWS 子目录中创建了大量的文件(请参见清单 9)。

清单 9. WSDL2Java 类创建了大量文件

SurveyQuestionsSOAPImpl.java
SurveyQuestionsSOAPStub.java
SurveyQuestions_PortType.java
SurveyQuestions_Service.java
SurveyQuestions_ServiceLocator.java
deploy.wsdd
undeploy.wsdd

其中大多数文件支持并提供了SOAP服务操作和功能。您不需要使用或者 编辑其中大多数文件。重要的文件是SurveyQuestionsSOAPImpl.java文件。这个文件包含了每个实际服务 的存根实现代码。您需要编辑这个文件,以便为每个SOAP 方法添加实现。

另一个重要的文件是 deploy.wsdd文件。这个文件是Web服务部署描述符,并且是Tomcat 中 Axis 组件定义公开的各个SOAP 方 法所必需的。

在您进入这个阶段之前,让我们来研究一下在您添加公开核心问卷调查元素的代码 之前生成的存根代码。

生成的存根代码

由 WSDL2Java类生成的存根代码是支持这个类所需 的最少代码。它是有效的,您可以对其进行编译,并部署这个Web服务,但是它不会执行任何操作。

这个代码建立于 WSDL文件中的各种定义(其中包括您在WSDL 定义中定义的输入参数和返回值) 的基础之上。

其中大多数函数都或多或少与您所期望的内容是一致的。例如, getSurveyQuestionCount 定义为不带任何参数,但返回一个整数值。

其他方法则更加复杂,我们 将在讨论各个方法时详细地介绍这些内容。

清单 10 中显示了所生成的完整的存根代码。

清单 10. 完整的存根代码

/**
* SurveyQuestionsSOAPImpl.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
*/
package SQWS;
public class SurveyQuestionsSOAPImpl
  implements SQWS.SurveyQuestions_PortType{
  public int getSurveyQuestionCount()
    throws java.rmi.RemoteException {
     return -3;
  }
  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 {
    questiontext.value = new java.lang.String();
    questionhelp.value = new java.lang.String();
    options.value = true;
  }
  public java.lang.String setSurveyResponse(int surveyid,
          int surveyquestion,
          java.lang.String surveyvalue)
    throws java.rmi.RemoteException {
    return null;
  }
  public int initializeSurvey()
    throws java.rmi.RemoteException {
    return -3;
  }
  public java.lang.String[] getSurveyQuestionOptions(int questionno)
     throws java.rmi.RemoteException {
    return null;
  }
}

让我们开始使用所有方法所需的核心信息来更新存根代码。

更新导言部分

与原始 Survey和WebSurvey 代码一样,您需要基于 SurveyQuestion类创建一个Collection,然后使用问 卷调查本身所使用的问题来填充它。

正如本系列文章前面的部分中所介绍的,您可以将这个信息 存储到数据库中,但是现在,您将手工地编写组成问卷调查的类。

不过,与前面的示例不同

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号