この簡単な例は、php の wso2 フレームワークの wsdl モード サンプルに基づいて作成しました。
<?php
try {
$client = new WSClient(array("wsdl"=>"http://footballpool.dataaccess.eu/data/info.wso?wsdl",
));
$proxy = $client->getProxy();
$result = $proxy->TopGoalScorers(array('iTopN'=>1));
echo "TEST!!!<br />";
echo '<pre>';
print_r($result);
echo '</pre>';
} catch (Exception $e) {
echo "Message = ".$e->getMessage();
}
?>
このスクリプトを Web ブラウザーで実行すると、http 324 エラー ERR_EMPTY_RESPONSE が発生します。シェルで実行すると動作するように見えますが、最後にセグメンテーション違反エラーが発生します。
サンプルファイル wsdl_11_client.php を使用すると、同じエラーが再現されます。
この行の場合
$result = $proxy->TopGoalScorers(array('iTopN'=>1));
セグメンテーション違反エラーは表示されません。
PHPバージョン2.1.0 libxmlバージョン2.7.8 libxsltバージョン1.1.26 PHPバージョン5.3.6-13ubuntu3.6 Ubuntu 11.10にwsf wso2フレームワークを使用しています。
私のphp.iniに追加しました
include_path = ".:/usr/share/php:/usr/lib/php5/20090626/wsf_c/scripts"
[wsf]
wsf.home="/usr/lib/php5/20090626/wsf_c"
;log_level2 shows warnings and errors
;wsf.log_level=2
;wsf.log_path="/var/log/wsf"
この拡張機能を /etc/php5/conf.d/wsf.ini に追加しました
; configuration for php WSF module
extension=wsf.so
サーバーの構成が間違っていますか? または、php スクリプトにエラーがありますか? 前もって感謝します。フランチェスコ。