已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安电子科技大学软件学院 应用ApacheSOAP进行编程 西安电子科技大学软件学院 Agenda ApacheSOAP的安装配置使用ApacheSOAP进行编程 西安电子科技大学软件学院 ApacheSOAP的安装配置 西安电子科技大学软件学院 ApacheSOAP和相关软件 ApacheSOAP是支持SOAP的开放源码软件是Apache的XMLProject当前五个子项目之一相关软件JDK1 2 2以上版本支持Servlet2 1版本以上的Servlet容器因为ApacheSOAP被实现为一个JavaServlet应用 所以要运行它需要Servlet容器的支持 可以选用Apache的另一个开放源码的Servlet服务器产品TomcatJavaMailAPI和JAFApacheSOAP支持通过SMTP协议传输SOAP消息 要使用这个特性 需要JavaMail和JAF的支持 可以使用Sun提供的实现JAXP兼容的支持NameSpace和XML编码的XML解析器SOAP使用XML来传递消息 所以需要一个功能完备的XML解析器可以采用Apache的Xcerces 西安电子科技大学软件学院 ApacheSOAP的安装 配置和运行 Servlet容器 Tomcat 的安装将Tomcat压缩包 安装包解压 安装到某目录下设置环境变量Tomcat需要使用JAVA HOME设置TOMCAT HOME为 Tomcat目录 在PATH变量中追加 Tomcat目录 bin启动startup关闭shutdown修改 Tomcat目录 bin startup bat将setCP CP CLASSPATH 该为setCP CLASSPATH CP 为了确保Xerces的XML解析器位于CLASSPATH的开始位置 参Xerces的安装也可以使用J2EE参考实现作为Servlet容器 西安电子科技大学软件学院 ApacheSOAP的安装 配置和运行 JavaMail和JAF的安装JavaMail的安装将JavaMail的压缩包展开到磁盘某目录下设置环境变量在CLASSPATH中追加 JavaMail目录 mail jarJAF的安装将JAF的压缩包展开到磁盘某目录下设置环境变量在CLASSPATH中追加 JAF目录 activation jar 西安电子科技大学软件学院 ApacheSOAP的安装 配置和运行 XML解析器 ApacheXerces 的安装将Xerces的压缩包展开到磁盘某目录下设置环境变量在CLASSPATH中添加 Xerces目录 xerces jar在CLASSPATH中 xerces jar必须在系统中原有的XML解析器的jar包之前 一般可以将其加在CLASSPATH的开始位置 西安电子科技大学软件学院 ApacheSOAP的安装 配置和运行 ApacheSOAP的安装将ApacheSOAP压缩包 安装包解压 安装到某目录下生成的目录中有以下子目录docs SOAP安装 运行和开发文档lib SOAP类库文件 其中soap jar是SOAP包含所有ApacheSOAP的类文件 在开发 运行时都需要使用 COMProvider dll是支持COM组件发布成Webservice的动态链接库Samples SOAP示例程序目录Webapps ApacheSOAP的运行程序所在目录配置环境变量在CLASSPATH中添加 ApacheSOAP目录 lib soap jar在PATH中添加 ApacheSOAP目录 lib 使得COMProvider dll可用将ApacheSOAP发布到Tomcat上将 ApacheSOAP目录 Webapps soap war拷贝到 Tomcat目录 webapps下 Tomcat启动时会自动搜索webapps目录下的war文件并将其加载将ApacheSOAP发布到J2EE参考实现上新建一个J2EE应用 导入soap war 发布到参考实现上 西安电子科技大学软件学院 使用ApacheSOAP进行编程 西安电子科技大学软件学院 编写SOAP服务 ApacheSOAP支持的服务提供者类型普通的Java类EJBBeanScriptCOM组件 西安电子科技大学软件学院 编写服务 定义一个简单的Java类编译后 将Hello目录所在的目录添加到CLASSPATH环境变量中 packageHello publicclassSimpleServ publicStringsayHelloTo Stringname return Hello name Howareyou 西安电子科技大学软件学院 发布服务 发布服务 J2EE参考实现作为Servlet容器 启动J2EE参考实现 确保ApacheSOAP已发布到服务器上 打开浏览器 输入http localhost 8000 soap admin index html 进入Deploy 西安电子科技大学软件学院 发布服务 填写信息ID输入框用来设置对象IDSOAP基础设施利用对象ID把RPC请求绑定到SOAP服务 所有ApacheSOAP服务必须有一个对象ID 这个对象ID在该服务器上部署的所有服务之间唯一 我通常使用 urn 格式 其中UniqueServiceID是服务的唯一对象ID 在本例中 把ID设置成 urn Hello Scope输入框用来定义响应调用请求的服务实例的生存范围和时间 Scope可以是下列值之一 request 服务实例在请求处理期间一直有效 session 服务实例对于整个会话都有效 application 服务实例被用于所有对服务的调用请求 Scope的值对安全有着重要的影响 记住这一点很重要 request值确保了连续调用之间的隔离 在另一个极端 application值意味着所有SOAP的用户共享服务实例 JSP的标记同样要用到这些值 事实上 rpcrouterServlet曾经就是一个JSP页面 这也许是这些值被选用的原因 在本例中 我们把Scope的值设置成application 西安电子科技大学软件学院 发布服务 Methods输入框输入用空白字符分隔的方法名字 这些方法名字指示出当前部署的服务上允许调用的方法 我们的服务示例只支持一个方法 即sayHelloTo ProviderType设置成Java 它意味着服务用Java实现 而且你必须为ApacheSOAP提供服务完整的类名 这个任务在ProviderClass输入框完成 我们把它设置成hello SimpleServ 由于sayHelloTo 方法不是静态的 保持Static输入框原来的值 即no 点击Deploy按钮完成部署 西安电子科技大学软件学院 编写客户端 Part1 构造Call对象 Call类包含在org apache soap rpc包中 西安电子科技大学软件学院 编写客户端 Part1 指明被调用服务的对象ID 通过Call对象的setTargetObjectURI 方法设置 本例的对象ID是urn Hello 西安电子科技大学软件学院 编写客户端 Part1 指明待调用方法的名字 通过Call对象的setMethodName 方法设置 本例的方法名字是sayHelloTo 西安电子科技大学软件学院 编写客户端 Part1 指明参数的编码方式 通过Call对象的setEncodingStyleURI 方法设置 本例我们使用标准的SOAP编码方式 这种编码方式由名称空间http schemas xmlsoap org soap encoding 定义 西安电子科技大学软件学院 编写客户端 Part1 方法调用的参数通过Call对象的setParams 方法设置 setParams 方法的参数是一个JavaVector 向量 这个向量包含所有的参数 向量中索引为0的参数是被调用方法从左边数起的第一个参数 索引为1的参数是被调用方法从左边数起的第二个参数 依此类推 向量中的每一个元素都是一个org apache soap rpc Parameter的实例 Parameter构造函数要求指定参数的名字 Java类型和值 还有一个可选的编码方式 如果指定了null编码方式 正如本例所做的那样 则默认使用Call对象的编码方式 虽然每一个参数对应着一个名字 但这个名字可以设置成任何内容 ApacheSOAP服务器调用方法时不会用到这个名字 因此 绝对有必要让向量中参数的次序和被调用方法的参数次序一致 西安电子科技大学软件学院 编写客户端 Part2 发出调用 利用前面构造的Call对象发出调用指明WebService服务器的URL调用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年莱芜辅警协警招聘考试备考题库及参考答案详解一套
- 2023年鹰潭辅警协警招聘考试备考题库含答案详解(培优a卷)
- 2024年宝鸡辅警招聘考试题库及答案详解(必刷)
- 2024年南京辅警招聘考试真题及答案详解(夺冠系列)
- 2023年衢州辅警招聘考试题库及参考答案详解一套
- 2024年吐鲁番辅警招聘考试真题附答案详解(考试直接用)
- 2023年铜川辅警招聘考试真题及1套完整答案详解
- 2023年西双版纳州辅警协警招聘考试真题及答案详解一套
- 2023年绵阳辅警招聘考试真题附答案详解(预热题)
- 2023年阿勒泰辅警招聘考试真题及答案详解(夺冠系列)
- 工厂员工餐厅设备配置方案
- 沪粤版物理九年级下册全册教案
- 五年2024-2025高考物理真题专题点拨-专题20电学计算题含解析
- 妇女保健(092)(副高级)高级卫生专业技术资格考试试题与参考答案(2025年)
- 消化系统疾病-病毒性肝炎(病理学课件)
- 医院门诊应急演练
- 铁路防雷及接地工程技术规范(TB 10180-2016)
- 《健康与长寿》课件
- 2022年中国进出口银行总行国际经济合作类岗位社会招聘考试真题
- 10(案例10)上市公司高管股权激励:是金手铐还是金手表-基于伊利股份的案例分析(2015-07-16)
- 2023年国家广播电视总局直属事业单位招聘3人笔试参考题库(共500题)答案详解版
评论
0/150
提交评论