折騰了一個上午,PHP SCA的居然連helloworld也出不來,在單位的VISITA上,百思不得其解,於是晚上回家
在WIN2003上,用同樣的APACHE版本,PHP 用5.2.1,居然完成成功,下面記錄過程,畢竟這方面資料國內很少。
1 先安裝pear
在你的PHP目錄下,輸入go-pear,然後基本按斷行符號,就完成安裝了
2 用PECL安裝SCA-SDO,因為這樣很方便了
輸入pecl install -B SCA_SDO ,之後會自動下載
SCA-SDO的相關庫檔案,會放在你的pear目錄下的
3 還要下載一個php_sdo.sll檔案,然後在
php.ini中加入 extension=php_sdo.dll
4 把pear\sca\examples\下的隨便一個例子放到你運行PHP的目錄下,就可以運行了,
5 咱們來helloworld
include 'SCA/SCA.php';
/**
* @service
* @binding.soap
*/
class Greeting
{
/**
* @param string $name
* @return string
*/
public function greet($name)
{
return 'hello ' . $name;
}
}
?>
這裡用了標籤,之後IE瀏覽http://localhost:8082/myphp/Greeting.php?wsdl
就可以看到WSDL了
使用之:
include 'SCA/SCA.php';
$greeting_service = SCA::getService('http://localhost:8082/myphp5/helloworldscawsservice/Greeting.php?wsdl');
$name = "jackyrong";
$greeting = $greeting_service->greet($name);
echo "Name: " . $name . "<br/>";
之後就可以使用了,第一個HELLOWOLRD出來了.
注意,我在visita上運行是出錯的,在win2003上運行正確,哎,可惡的visita
參考資料:
http://www.osoa.org/display/PHP/SCA+with+PHP
http://www.ibm.com/developerworks/webservices/library/ws-soa-scasdo/