0

この簡単な例は、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 スクリプトにエラーがありますか? 前もって感謝します。フランチェスコ。

4

1 に答える 1

0

わたしも。

「WSO2 WSF for PHP」プロジェクトでの活動がないことを考えると、本番環境では使用しない方がよいのではないでしょうか。

おそらく最善の回避策は、元のサービスと通信し、JSON のようなものを PHP に返す Java プロキシ サービスを作成することです。

于 2012-09-13T14:43:10.510 に答える