3

PHPでSoapServerを使用してWebサービスに取り組んでいます。以前、まったく同じ手法を使用して別の Web サービスを作成しました。私の新しいプロジェクトは同じサーバーにありますが、別のサブディレクトリにあります。サービスと soapserver の URL にはバージョン番号が含まれています。これは、私の SoapServer を PHP で作成する方法です。

$server = new SoapServer("https://".DOMAIN."/webservice/index.php?v=1.0.0&wsdl=1");
$server->setClass('SoapHandler');
$server->handle();

私の例の Soap Service では、PHP ページ全体は同じですが、もちろん URL だけが異なります。soapUI を使用して Web サービスを呼び出すと、次のエラーが返されます。

SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://myurl.com/webservice/index.php?v=1.0.0&wsdl=1' : failed to load external entity "https://myurl.com/webservice/index.php?v=1.0.0&wsdl=1"

ご覧のとおり、アンパサンドは に置き換えられてい&ます。エンコーディングを UTF-8 に変更しようとしましたが、これも機能しません。

誰が私を助けることができますか?

4

2 に答える 2

2

ファイルで openssl モジュールを有効にする必要がありphp.iniます。そうしないと、SSL (https) でドメインにアクセスできません。

それ以外の場合は、ローカル サーバーからドメインを確認し、curl または lynx を使用して WSDL ファイルが返されることを確認する必要があります。

于 2013-03-05T08:49:07.687 に答える
1

サーバーのIPも許可する必要がありますが、IPアドレスのみを許可する.htaccessがありました.これを削除すると、問題が解決しました。ご協力いただきありがとうございます!

于 2013-03-05T10:10:13.287 に答える