折腾了一个上午,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 .
;
?
之后就可以使用了,第一个hellowolrd出来了.
注意,我在visita上运行是出错的,在win2003上运行正确,哎,可恶的visita
参考资料:
http://www.osoa.org/display/php/sca+with+php
http://www.ibm.com/developerworks/webservices/library/ws-soa-scasdo/
