問題タブ [soapserver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - SoapServer、handle() の障害 - 手順が設定されていません
したがって、エラーは次のとおりです。
PHP Fatal error: Procedure 'sup:set_availability' not present in XMLSoapServer.php
私の開発環境 (MAMP) でこのエラーが発生しています。
これは、'sup' 名前空間が定義されていない無効な XML 文字列が原因です。
(これは外部からの要求なので、ソースを修正することはできません。できることはありますが、少なくともすぐにではありません。)
問題は、同じリクエストを処理している 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 にダウングレードすることにも成功しませんでした。
それで...これについて何か考えはありますか?
php - サービス中のsymfony2 SoapServer EntityManagerインジェクション
symfony2 のネイティブ php SoapServer に問題があります。SoapServer は symfony2 で「UserService」サービス クラスを使用します。これは、「UserRepository」にアクセスできるように、注入された symfony2 EntityManager でインスタンス化する必要があります。
明確にするために:
石鹸サーバー:
サービス:
問題は、SoapServer が常に内部サーバー エラーを返すことです。サービス自体は、symfony2 で直接呼び出されて動作します。SoapServer によって呼び出された/インスタンス化されたときに EntityManager を注入することさえ可能ですか?
前もって感謝します!
マーティン
php - SOAPServer+php+iis v6 (終了タグが正しくありません)
読んでくれてありがとう。PHP の SOAPServer クラスを使用すると大きな問題が発生します。
テストを行うと、次の応答が得られます。これはうまく機能します。
しかし、同じことを他のサーバーで行うと、次の応答が得られます。
2 番目の応答でわかるように、3 つの異なる問題があります。
- < と > の代わりに < と > が表示されます。
- xml の最後に de > がありません
- そしてxmlはフォーマットされていません(私はあなたのためにそれをしました:))
サーバーに関する情報:
- 同じ wsdl、Web サーバー、php_soap.dll、php.ini
- 私たちはiis v6とphp v5.2.9-2を使用しています
PHP は両方のサーバーで、この方法で SOAPServer を呼び出しています。
new SOAPServer($Path, array('encoding'=>'ISO-8859-1'))
ええと、あなたが私たちに教えてくれる情報や、価値があると思われる手がかりを教えてください... もちろん、さらに情報が必要な場合も同様です.
よろしくお願いします!
php - PHP を使用して Zend SOAP サーバーでヘッダーを認証する
クライアントがサーバーにリクエストを送信するときに、SOAP ヘッダーを認証しようとしています。SOAPヘッダーを読んでそれを行う必要があります。パラメータを SOAP ヘッダーに設定できますが、サーバー側から SOAP ヘッダーを読み取り、クライアントの要求を認証する方法がわかりません。Plsは助けが必要です。
ありがとうございました。
php - WSDL PHP Soapserver 配列と複合型リクエスト
PHP Soapserver を使用して PHP で SOAP サーバーを作成しました。最初の引数と対応する wsdl ドキュメントに複数の項目を配列として追加する関数「addItems」を作成しました。wsdl で、次のような配列オブジェクト 'items' を作成しました。
php 関数は、次のように php soapserver に渡される単純なクラス メソッドです。
問題は、php soapserver が配列を処理する方法です。項目を 1 つだけ追加すると、項目リストが配列として返されません。2 つのアイテムを追加すると、アイテムの配列は、予想されるアイテム引数ではなくアイテム要素に格納されます。
soapenc:array を使用してみましたが、http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html#refinement16556272 に記載されているように WS-I 準拠と互換性がないようで、失敗しますこのタイプのエンコーディングを使用するときに、ビジュアルスタジオにサービスを追加したいとき。
それで、私は何を間違っていますか?どこかでwsdlを変更する必要があると思いますが、実際の例が見つかりませんでした。または、soapserver にいくつかのオプションを設定する必要がありますか? 道に迷いました。
以下に、リクエスト、実際の結果、および期待される結果を示します。
1つのアイテムでリクエスト:
$items 引数の実際の結果
$items 引数の期待される結果
複数のリクエスト:
$items 引数の実際の結果
期待される結果
完全な WSDL の下:
php - C# winform で php soapserver を使用できない
私は単純な php ソープサーバーを持っており、そのための wsdl ファイルも作成しました。php で使用できますが、.net winform でも使用したいです。検索しましたが、推奨される記事はどれも役に立ちませんでした。私を助けてくれませんか?これが私のsoapserverで、ページ名はtestserver.phpです:
これが私の wsdl ファイルで、ファイル名は test1.wsdl です。
前もって感謝します!
soap - デフォルト v1.1 の代わりに Soap v1.2 を使用して spring-ws で SOAP Web サービスを生成する
現在、Spring SOAP サーバー プロジェクトに取り組んでいます。基本的な SOAP サービスを構築するために、Spring の入門ガイド ( http://spring.io/guides/gs/producing-web-service/ ) から始めました。
デフォルトの SOAP プロトコルは SOAP v1.1 です。おそらく注釈を介して、プロトコルをv1.2に設定する方法はありますか?
@BindingType(javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING)
クラスに注釈を付けてみました@Endpoint
が、うまくいかないようです。
私も@Endpoint(value = SOAPBinding.SOAP12HTTP_BINDING)
それを設定しようとしましたが、起動時のログに見られるように、これは機能しません
もちろん、SOAP リクエストをサーバーに送信すると、次のエラーが発生します。
どんな助けでも大歓迎です。
ありがとう!
php - 出力バッファリングを無視する SoapServer->handle()
SoapServer
実際にブラウザーに送信される前に、デバッグのためにPHP のクラスから送信された応答を取得しようとしています。
出力バッファリングを使用してZend_Soap_Server
出力をキャプチャできるようになっているものを利用しています。SoapServer->handle()
ただし、handle メソッドはバッファを完全に無視しているようで、ブラウザに直接送信してリクエストを強制終了しています。
これはZend_Soap_Server->handle()
メソッドから直接抽出したものです。
上記からわかるように、 からの出力はバッファにキャプチャされ、 with$soap->handle()
に割り当てられる必要があります。リクエストを終了しているように、PHPはこの時点に到達していないようです。$this->_response
ob_get_clean()
$soap->handle()
バッファ内の文字列をエコーすると、ブラウザに送信されず、正しくバッファリングされるため、$soap->handle()
何かを壊していると思われます。
ここで何か助けていただければ幸いです。
php - SoapServer が無効な応答
を作成しようとしていますSoapServer
が、理論的にはWSDL
すべてを調べても問題ありませんが、実装したサーバーが有効な応答を返しません。wsdl
リクエストとレスポンスを定義するの一部:
php
そしてハンドラ内の私の関数:
この結果、送信response
は次のようになります。
result
タグは空ですが、サーバー内でそれを記述している配列を設定する必要があります。誰かが私に欠けているもののヒントを教えてもらえますか?
php - PHP ベースの SOAP サーバーが完全に起動しているかどうかを確認する
SOAP サーバーに問題があり、数日のうちに頭がおかしくなりました。私は、単純な SOAP-Server PHP スクリプトにも問い合わせる非常に単純な SOAP-Client PHP スクリプトを持っています。
デバッグ サーバーにこれらのスクリプトの正確なコピーがあり、完全に動作します (これは単なる hello World 関数です)。「Procedure 'ns1:testHello' not present」エラーが発生し続けます (testHello は関数名です)。
production-client が機能していることはわかっています。プロダクション サーバーから呼び出して WSDL を開発すると、完全に機能するからです。SOAPサーバーと何らかの形で相関していると思いますが、正しく機能しているかどうか、何が問題なのかを正確に知るにはどうすればよいですか?
infophp() ダンプを見ると、SOAP サーバーとクライアントの両方が有効になっていることがわかります
SOAP_1_1 と SOAP_1_2 の両方のバージョンを強制しようとしましたが、変更はありません。あらゆる種類のキャッシュを無効にしようとしましたが、変更もありません。「ns:X function not present」は通常、WSDL の設定ミスが原因であると読みましたが、それが正確なコピーである場合、どのように間違っている可能性がありますか (targetNamespace、xmlns:tns、soap:address url が実稼働サーバーを指している場合を除く)。
これは何らかの形で Web サーバーの構成設定に関連していると思い始めています。何か案は?どのような検査ができますか?
よろしくお願いします。
私のサーバーコード:
私のクライアントコード
私の WSDL ファイル