WEB开发网
开发学院数据库Oracle 利用PHP创建由Oracle驱动的SOAP服务 阅读

利用PHP创建由Oracle驱动的SOAP服务

 2009-01-06 13:10:21 来源:WEB开发网   
核心提示: public Function div($a, $b) {if($b == 0) {throw new SoapFault(-1, “Cannot divide by zero!”);}return $a / $b;}注意,除了应用程序本身表达的意思外,利用PHP创

   public Function div($a, $b) {
  if($b == 0) {
  throw new SoapFault(-1, “Cannot divide by zero!”);
  }
  return $a / $b;
  }

注意,除了应用程序本身表达的意思外,这两个 SoapFault 参数没有任何其他含义。因此,尽管我在这里使用了负数作为错误代码,但仍然可以十分轻松地选择其他所需的整数值。

生成WSDL

尽管前面的示例确实是一个用于创建 SOAP 服务的完整 PHP 脚本,但它根本没有解决 WSDL 文档的问题。查看 WSDL 文档是整个过程的一个重要组成部分,生成 WSDL 文档则需要采取一些额外的操作。

遗憾的是,由于 PHP 的无类型本质,目前 PHP 还不能像强类型化语言(如 Java)或 .NET 服务那样拥有即席自动生成 WSDL 文档的合理方法。WSDL 文档必须指定每个参数的类型,因此您需要使用其他方法在脚本中表达,因为变量 $a 和 $b 提供的是非类型化信息。有多种选择可用:

◆自己手动编写 WSDL 文档。

◆通过手动输入每个方法和类型化信息,使用基于 Web 的 WSDL 生成器来生成文件。

◆使用 Zend Studio 的自动 WSDL 生成器。

尽管这三个选择都可行,但我将演示如何使用 Zend Studio 的 WSDL 生成器来生成 WSDL 文档,原因有两个:第一,这是目前为止生成 WSDL 文档的最简单、最可靠的方法;第二,Zend Studio 几乎在每个正规的 PHP 柜台都有售。

为了使用 Studio WSDL 生成器生成 WSDL 文档,您首先必须为每个公开方法识别其参数的类型化信息,然后使用名为 PHPDoc(常用 JavaDoc 的 PHP 版本)的内嵌文档注释来返回值。PHPDoc 只是一个置于每个函数开头的块注释,其使用的特定可分析语法可用于自动生成文档。Zend Studio 还使用该信息收集生成 WSDL 文档所需的类型化信息。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:利用 PHP 创建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接