したがって、エラーは次のとおりです。
PHP Fatal error: Procedure 'sup:set_availability' not present in XMLSoapServer.php
私の開発環境 (MAMP) でこのエラーが発生しています。
これは、'sup' 名前空間が定義されていない無効な XML 文字列が原因です。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema"
xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<sup:set_availability>
<SetAvailability>
...
</SetAvailability>
</sup:set_availability>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
(これは外部からの要求なので、ソースを修正することはできません。できることはありますが、少なくともすぐにではありません。)
問題は、同じリクエストを処理している 2 つのサーバーを取得したことです。エラーなし。だから私の探求は理由を見つけることです:)
いくつかの詳細:
- サーバー 1: php 5.3.2
- サーバー 2: PHP 5.4
- 開発: php 5.4
これまでに確認したこと:
- コードは同じsvn-checkoutです
- 非表示の開発または本番のみの設定はありません
- Apacheの設定は同じです
- wsdl キャッシュが無効になり、キャッシュされた wsdl がクリアされます
- libxml2 を除いて、php.ini 設定は同じです。
サーバー 1 にはバージョン 2.6.26 があり、サーバー 2 にはバージョン 2.7.7 があります - リクエストは魅力的に機能します 私の開発環境には lixml2 バージョン 2.8.0 があり、致命的なエラーをスローします。
私の推測では、libxml2 がエラーを引き起こしている (またはそうであった) と思われますが、このトピックに関するリソースが見つかりません。また、ローカルの libxml2 バージョンを 2.6 または 2.7 にダウングレードすることにも成功しませんでした。
それで...これについて何か考えはありますか?