問題タブ [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 投票する
1 に答える
451 参照

python - QuickbooksWebconnector用のPythonSoapServer

私はQuickBooksWebConnectorと対話するためのSoapServerを作成していますが、どこから始めればよいのかさえわかりません。wsdlファイルと、Webコネクタに必要なすべての関数と引数のリストがありますが、実際にはどこから始めればよいのかわかりません。Pythonのこれに関する実際のドキュメントは見つかりませんでした。いくつかのphpチュートリアルがありますが、それは私が必要としているものではありません。ZSIを使ってみたところ、ファイルが生成されましたが、使い方がわかりませんでした。誰かがこれについて何か経験があれば、私はあなたの入力に感謝します。

ありがとう

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

php - PHPSoapServerと複合型

SoapServerクラスを使用してPHPでWebサービスを構築していますが、複雑な型のキャストで問題が発生しています。

WSDLは完全に有効であり、PHP SoapClientはそれを完璧に処理しますが、返される複合型が適切にキャストされないという問題があるようです。これは、.Netでサービスを使用するときに明らかになりました。これは、指定された名前空間にタイプが存在しないことを示す例外が発生したためです。

関数を何度も壊して要素の名前空間を変更しましたが、使用する名前空間に関係なく、.Netでエラーが発生し続けます。

スクリプトの次の省略形を検討してください。

省略された応答:

私が気付いたのは、xmlns:ns1それがWSDLによって定義されており、WSDLの名前空間と一致していることです。commandただし、.Net SOAPクライアントは、要素がそこで定義されていることを理解していないようです。ただし、それArrayOfCommandが定義されている場所であることは理解しています。

だから私の質問はマルチパートです:

  1. これはSoapServerの既知のバグですか?
  2. そうでない場合、WSDLに何か悲惨なものが欠けていますか?
  3. オブジェクトを正しくエンコードしていませんか?
  4. これは.Netの問題ですか?もしそうなら、回避策は何ですか?
0 投票する
1 に答える
1559 参照

php - PHP-SoapServer-> Handle()後のSOAP-ENV:ClientBadリクエスト-ヘルプ

長い間うまく機能していたPHPWebサービスを入手しましたが、どこかでそれが機能しなくなり、再び機能させることができなくなりました。

関数を使用してクラスを定義するだけのphpページを取得し、最後にSoapServerを作成します。

このように見えます-

$ soapserver-> handle();の直後 コードが終了し、Webページにあいまいな「SOAP-ENV:ClientBadRequest」の結果が表示されます。

これは、インデックスページからこのページを「require_once」すると発生するため、インデックスページからこのクラスで定義されている関数を呼び出すことができます。

私の推測では、WSDLをいじりすぎていて、WebServiceの実行中にどういうわけか失敗したのかもしれませんが、何が問題なのかを調べてみましたが、何もできませんでした。特に、この厄介な漠然としたエラーメッセージのために、それは実際には役に立ちません。

ありがとう!

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

php - siteminder 認証のための php SoapClient の拡張

短縮版

SoapClientWSDLにアクセスするときに内部的にこれを行うように拡張したい:

ロングバージョン

次のような SOAP リクエストがあります。

ご覧のとおり、プロキシ ビットを除いて、すべてがかなり標準的です。

代理の理由

WSDL を含むすべてのエンドポイントが siteminder と呼ばれる認証システムを介して処理されるという Web サービス プロバイダーの要件を満たすために、プロキシを作成しました。

プロキシの機能は非常に簡単です。Linux コマンド ライン curl で記述した場合、次のようになります。

正確には:

これはすべて正常に動作します:)

しかし最近、サービス プロバイダーは WSDL を変更することを決定しました。

スキーマ ファイル ( .xsd) をインポートするようになりました。これは、WSDL に関連していることを除けば、それほど悪いことではありません。

WSDL ファイルに相対的であることは、SoapClientパーサーがプロキシの場所からスキーマ ファイルを探すようになったことを意味します。エラー、見つかりません!

その問題の詳細については、次を参照してください。

相対パス スキーマを使用して wsdl を渡すと、php SoapClient が失敗する

だから私の質問は:

どうすれば書き直すことができますかSoapClient(もちろんそれを拡張することによって)、引き続き siteminder 認証を通過しますが、その追加のプロキシを通過する必要はありませんか?

私の最初の考えは、どういうわけか URI アクセサー関数 (存在する場合) を書き直さなければならないということですが、この分野のドキュメントがあまりないため、どこから始めればよいかわかりません。

SoapServerあるいは、何らかの方法でハッキングする必要があるかもしれません。

の内部へのドキュメントへのポインタを含め、私が得ることができる助けをいただければ幸いですSoapClient

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

php - PHP SoapServer: 'Response' の追加を無効にする方法

次の要求と応答の構造に準拠する必要がある SOAP サーバー (ckWebservicePlugin を使用して Symfony で) を作成しています (これは既に合意された仕様として与えられました)。

リクエスト:

応答:

私が抱えている問題は、SoapServer が要求されたメソッドの名前 + 'Response' が付加された応答を常に生成することです。

したがって、送信される応答 XMLは次のようになります。

<ns1:USSDMessageResponse>出力を<ns1:USSDMessageRequestResponse>

私が使用しているWSDLは次のようになります。

SoapServer のドキュメントを確認し、R. Richards による Pro Xml And Web Services を参照しましたが、SoapServer に応答名を指定する方法がわかりません。

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

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

php - PHP SoapServerは、異なる関数を呼び出しても、常に同じ関数を呼び出します

私のSOAPサーバーは、ログイン、ログアウト、バージョンの3つの操作でセットアップされています。

ログイン関数のコードは現在、ユーザー名とパスワードの2つのパラメーターを受け入れ、関数クラスのプライベートユーザー名とパスワードの変数に保存することで自動的に「認証」し、現在「偽造」しています。Webサービスアクションのエントリポイントでセッションを開始しました。初期化中にSoapServerで関数クラスを設定すると、次のように接続が保持されます。

SOAP CLIENTを作成してサービスを呼び出すと、呼び出される関数に関係なく、呼び出された関数ではなく、version()関数が常に実行されているように見えます。これはおそらく私のWSDLの記述方法によるものだと思いますが、問題はわかりません(私は新しいです)...

PHPSoapServerを介して次のWSDLをリッスンしています。

私のSOAP関数クラスは次のとおりです(setClass()を介してSOapServerに含まれています)。

私のSOAPCLIENTテストクラスは次のとおりです。

テストクラスの実行結果は次のとおりです...「許可されていません」に注意してください。はすべてに対する応答であり、WebSvcSoapFunctions :: version()関数のみが実行されていることを示します

Xxxxxx SERVICE SOAP SERVER TESTリクエスト:

バージョン

引数の要求:

配列 ( )

戻ってきた:

許可されていません。

生のリクエスト:

POST / HTTP / 1.1ホスト:soap.jrimer-amp64接続:Keep-Aliveユーザーエージェント:PHP-SOAP / 5.2.10コンテンツタイプ:text / xml; charset = utf-8 SOAPAction: "http://soap.jrimer-amp64/" Content-Length:227

生の応答:

HTTP / 1.1 200 OK日付:2011年6月16日木曜日19:43:32 GMTサーバー:Apache / 2.2.3(CentOS)X-Powered-By:PHP / 5.2.10 Set-Cookie:PHPSESSID = scbuin269990ahfargfq7k0972; path = /有効期限:1981年11月19日木曜日08:52:00 GMTキャッシュ制御:no-store、no-cache、must-revalidate、post-check = 0、pre-check = 0プラグマ:no-cache Content-長さ:209接続:閉じるContent-Type:text / xml; charset = utf-8

許可されていません。

Xxxxxx SERVICE SOAP SERVER TESTリクエスト:

ログインする

引数の要求:

配列([ユーザー名] =>jrimer[パスワード]=>1234)

戻ってきた:

許可されていません。

生のリクエスト:

POST / HTTP / 1.1ホスト:soap.jrimer-amp64接続:Keep-Aliveユーザーエージェント:PHP-SOAP / 5.2.10コンテンツタイプ:text / xml; charset = utf-8 SOAPAction: "http://soap.jrimer-amp64/" Content-Length:298 Cookie:PHPSESSID = scbuin269990ahfargfq7k0972;

usernamejrimerpassword1234

生の応答:

HTTP / 1.1 200 OK日付:2011年6月16日木曜日19:43:32 GMTサーバー:Apache / 2.2.3(CentOS)X-Powered-By:PHP / 5.2.10有効期限:1981年11月19日木曜日08:52: 00 GMT Cache-Control:no-store、no-cache、must-revalidate、post-check = 0、pre-check = 0プラグマ:no-cache Content-Length:209接続:close Content-Type:text / xml; charset = utf-8

許可されていません。

Xxxxxx SERVICE SOAP SERVER TESTリクエスト:

バージョン

引数の要求:

配列 ( )

戻ってきた:

許可されていません。

生のリクエスト:

POST / HTTP / 1.1ホスト:soap.jrimer-amp64接続:Keep-Aliveユーザーエージェント:PHP-SOAP / 5.2.10コンテンツタイプ:text / xml; charset = utf-8 SOAPAction: "http://soap.jrimer-amp64/" Content-Length:227 Cookie:PHPSESSID = scbuin269990ahfargfq7k0972;

生の応答:

HTTP / 1.1 200 OK日付:2011年6月16日木曜日19:43:32 GMTサーバー:Apache / 2.2.3(CentOS)X-Powered-By:PHP / 5.2.10有効期限:1981年11月19日木曜日08:52: 00 GMT Cache-Control:no-store、no-cache、must-revalidate、post-check = 0、pre-check = 0プラグマ:no-cache Content-Length:209接続:close Content-Type:text / xml; charset = utf-8

許可されていません。

Xxxxxx SERVICE SOAP SERVER TESTリクエスト:

ログアウト

引数の要求:

配列 ( )

戻ってきた:

許可されていません。

生のリクエスト:

POST / HTTP / 1.1ホスト:soap.jrimer-amp64接続:Keep-Aliveユーザーエージェント:PHP-SOAP / 5.2.10コンテンツタイプ:text / xml; charset = utf-8 SOAPAction: "http://soap.jrimer-amp64/" Content-Length:227 Cookie:PHPSESSID = scbuin269990ahfargfq7k0972;

生の応答:

HTTP / 1.1 200 OK日付:2011年6月16日木曜日19:43:32 GMTサーバー:Apache / 2.2.3(CentOS)X-Powered-By:PHP / 5.2.10有効期限:1981年11月19日木曜日08:52: 00 GMT Cache-Control:no-store、no-cache、must-revalidate、post-check = 0、pre-check = 0プラグマ:no-cache Content-Length:209接続:close Content-Type:text / xml; charset = utf-8

許可されていません。

Xxxxxx SERVICE SOAP SERVER TESTリクエスト:

バージョン

引数の要求:

配列 ( )

戻ってきた:

許可されていません。

生のリクエスト:

POST / HTTP / 1.1ホスト:soap.jrimer-amp64接続:Keep-Aliveユーザーエージェント:PHP-SOAP / 5.2.10コンテンツタイプ:text / xml; charset = utf-8 SOAPAction: "http://soap.jrimer-amp64/" Content-Length:227 Cookie:PHPSESSID = scbuin269990ahfargfq7k0972;

生の応答:

HTTP / 1.1 200 OK日付:2011年6月16日木曜日19:43:32 GMTサーバー:Apache / 2.2.3(CentOS)X-Powered-By:PHP / 5.2.10有効期限:1981年11月19日木曜日08:52: 00 GMT Cache-Control:no-store、no-cache、must-revalidate、post-check = 0、pre-check = 0プラグマ:no-cache Content-Length:209接続:close Content-Type:text / xml; charset = utf-8

許可されていません。

何が起こっているのかアイデアはありますか?

注:VERSION関数のWSDLの定義をコメントアウトするだけで、次に定義される関数が「常に呼び出される」関数(ログイン)になることに気付きました...そのWSDLで何が間違って構成されていますか?

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

php - PHPSoapServer接続認証の実装

Googleを検索しましたが、これに対する明確な解決策が見つからないようです...

システムの特定のユーザーからのリクエストを処理するために、PHPSOAPサーバーを実装しています。

SOAP関数に送信されるuser/pass引数を介したすべての要求中に接続ユーザーを認証するだけでなく、サービスへの単なる接続を何らかの方法で認証するためにも必要です。

関数レベルの認証の実装は簡単でした。システム内の関数の最初の2つの引数はuserとpassであり、認識されないuser/passの組み合わせが渡された場合はエラーコードを返します。注意が必要なのは接続認証です。

「ユーザー名」と「パスワード」を含むオプション配列を使用してSOAPクライアントをインスタンス化すると、接続しているクライアントとの接続レベルで認証できる実装を見てきましたが、サーバーを見つけることができませんでした。 -このタイプの認証を処理するサイドコード。

これを、handle()のクライアント要求を処理するPHP SoapServerクラスに実装するには、何をする必要がありますか?

解決済み:BASIC認証が有効になっている.htaccessファイルを使用して、目的の機能を実装できたようです...

クライアントに渡されたログイン/パスワードはサーバーに送信され、PHP_AUTH_USERおよびPHP_AUTH_PWとしてphp$_SERVER配列に配置されます。PHPは、これらの値を.htaccessファイルで定義されたpasswdファイルと照合し、Webページで表示すると、汎用ユーザー/パスボックスをポップアップします。その結果、認証が失敗した場合は401 Unauthorizedになり、それ以外の場合は許可されます...SOAP経由クライアント、「ログイン」と「パスワード」のオプションを使用してユーザーパスインを渡すと、代わりにこの認証部分がクライアントで処理されます。

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

c# - WCF と SOAP を既存のサーバー クライアント アプリケーションに統合する方法は?

サーバークライアントアプリケーションは初めてです。

Java サーバーが http 経由で .net WPF クライアントと通信するプロトタイプを構築しようとしています。サーバーとクライアントは現在、サードパーティのメッセージング システム (Tibco) を介して通信しています。少し調べた結果、SOAP と WCF を使用することにしました。これを実装する方法についてのチュートリアルを探していましたが、私のニーズに合ったものを見つけることができませんでした。私のような初心者が SOAP と WCF を既存のシステムに実装する速度を上げるために使用できるリソースを誰かが教えてくれたら、本当に感謝しています。また、使用できる他のプロトコルについて提案がある場合は、遠慮なくお勧めしてください。

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

php - PHP SoapVar オブジェクト属性?

SoapVar オブジェクトに属性を追加する方法についての手がかりはありますか? 簡単なように思えますが、うまく動作させることができません。

PHPドキュメントと次のstackoverflowの質問を見てきました:

SoapVar に関するドキュメント

stackoverflow の質問: SOAP の SoapVar/Param とネストされた繰り返し要素

この配列の例のような属性を追加しようとしていますが、代わりに複雑な SoapVar オブジェクトを使用しています。

そして最終結果傷は

ありがとう。

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

php - phpSoapServerはxmlドキュメントを印刷しません

すべて

以下のコードを使用してsoapサーバーを作成します。PHPでwsdlドキュメントを作成するのは少し難しいことがわかったので、非wsdlモードを使用することにしました。

しかし、このプログラムにアクセスしようとすると、何も出力されません。Webブラウザとプログラムの両方(私はSoapClientを使用しています)

私はクライアント側でこのような関数を呼び出すのに疲れました:

エラーが発生します:

どこが間違っていますか?わかりません。:(コードは問題ないようです。なぜ印刷されないのですか?