問題タブ [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.

0 投票する
4 に答える
1934 参照

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 にダウングレードすることにも成功しませんでした。

それで...これについて何か考えはありますか?

0 投票する
1 に答える
428 参照

php - サービス中のsymfony2 SoapServer EntityManagerインジェクション

symfony2 のネイティブ php SoapServer に問題があります。SoapServer は symfony2 で「UserService」サービス クラスを使用します。これは、「UserRepository」にアクセスできるように、注入された symfony2 EntityManager でインスタンス化する必要があります。

明確にするために:

石鹸サーバー:

サービス:

問題は、SoapServer が常に内部サーバー エラーを返すことです。サービス自体は、symfony2 で直接呼び出されて動作します。SoapServer によって呼び出された/インスタンス化されたときに EntityManager を注入することさえ可能ですか?

前もって感謝します!

マーティン

0 投票する
0 に答える
152 参照

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'))

ええと、あなたが私たちに教えてくれる情報や、価値があると思われる手がかりを教えてください... もちろん、さらに情報が必要な場合も同様です.

よろしくお願いします!

0 投票する
0 に答える
2236 参照

php - PHP を使用して Zend SOAP サーバーでヘッダーを認証する

クライアントがサーバーにリクエストを送信するときに、SOAP ヘッダーを認証しようとしています。SOAPヘッダーを読んでそれを行う必要があります。パラメータを SOAP ヘッダーに設定できますが、サーバー側から SOAP ヘッダーを読み取り、クライアントの要求を認証する方法がわかりません。Plsは助けが必要です。

ありがとうございました。

0 投票する
2 に答える
5177 参照

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 の下:

0 投票する
1 に答える
251 参照

php - C# winform で php soapserver を使用できない

私は単純な php ソープサーバーを持っており、そのための wsdl ファイルも作成しました。php で使用できますが、.net winform でも使用したいです。検索しましたが、推奨される記事はどれも役に立ちませんでした。私を助けてくれませんか?これが私のsoapserverで、ページ名はtestserver.phpです:

これが私の wsdl ファイルで、ファイル名は test1.wsdl です。

前もって感謝します!

0 投票する
3 に答える
22299 参照

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 リクエストをサーバーに送信すると、次のエラーが発生します。

どんな助けでも大歓迎です。

ありがとう!

0 投票する
1 に答える
650 参照

php - 出力バッファリングを無視する SoapServer->handle()

SoapServer実際にブラウザーに送信される前に、デバッグのためにPHP のクラスから送信された応答を取得しようとしています。

出力バッファリングを使用してZend_Soap_Server出力をキャプチャできるようになっているものを利用しています。SoapServer->handle()ただし、handle メソッドはバッファを完全に無視しているようで、ブラウザに直接送信してリクエストを強制終了しています。

これはZend_Soap_Server->handle()メソッドから直接抽出したものです。

上記からわかるように、 からの出力はバッファにキャプチャされ、 with$soap->handle()に割り当てられる必要があります。リクエストを終了しているように、PHPはこの時点に到達していないようです。$this->_responseob_get_clean()$soap->handle()

バッファ内の文字列をエコーすると、ブラウザに送信されず、正しくバッファリングされるため、$soap->handle()何かを壊していると思われます。

ここで何か助けていただければ幸いです。

0 投票する
0 に答える
68 参照

php - SoapServer が無効な応答

を作成しようとしていますSoapServerが、理論的にはWSDLすべてを調べても問題ありませんが、実装したサーバーが有効な応答を返しません。wsdlリクエストとレスポンスを定義するの一部:

phpそしてハンドラ内の私の関数:

この結果、送信responseは次のようになります。

resultタグは空ですが、サーバー内でそれを記述している配列を設定する必要があります。誰かが私に欠けているもののヒントを教えてもらえますか?

0 投票する
0 に答える
1303 参照

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 ファイル