問題タブ [soap]

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 投票する
2 に答える
12760 参照

.net - 誤った SOAP 1.1 faultcode 値を生成する .NET WCF 障害

私は、FaultException と FaultException<T> を使用して、アプリケーションでの最適な使用パターンを判断しようとしています。SOAP 1.1 クライアントや SOAP 1.2 クライアントなど、WCF だけでなく、WCF 以外のサービス コンシューマー/クライアントもサポートする必要があります。

参考までに: FaultExceptions を wsHttpBinding で使用すると SOAP 1.2 セマンティクスになりますが、FaultExceptions を basicHttpBinding で使用すると SOAP 1.1 セマンティクスになります。

次のコードを使用して、FaultException<FaultDetails> をスローしています。

FaultDetails クラスは、以下に示すように、文字列 "Message" プロパティを含む単純なテスト クラスです。

wsHttpBinding を使用する場合の応答は次のとおりです。

これは、SOAP 1.2 仕様によると正しく見えます。メイン/ルートの「コード」は「送信者」で、「サブコード」は「MySubFaultCode」です。サービス コンシューマー/クライアントが WCF を使用している場合、クライアント側の FaultException も同じ構造を模倣し、faultException.Code.Name は「Sender」、faultException.Code.SubCode.Name は「MySubFaultCode」になります。

basicHttpBinding を使用する場合の応答は次のとおりです。

これは正しくありません。SOAP 1.1 の仕様を見て、FaultCode.CreateSenderFaultCode(new FaultCode("MySubFaultCode")) を使用すると、「faultcode」の値が「s:Client.MySubFaultCode」になると予想していました。また、WCF クライアントは正しくない構造を取得します。faultException.Code.Name は「Sender」ではなく「MySubFaultCode」であり、faultException.Code.SubCode は faultException.Code.SubCode.Name が「MySubFaultCode」ではなく null です。また、faultException.Code.IsSenderFault は false です。

FaultCode.CreateReceiverFaultCode(new FaultCode("MySubFaultCode")) を使用した場合の同様の問題:

  • SOAP 1.2 では期待どおりに動作します
  • 「s:Server.MySubFaultCode」の代わりに「s:MySubFaultCode」を生成し、SOAP 1.1 の faultException.Code.IsReceiverFault は false です。

この項目は、2006 年にhttp://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=669420&SiteID=1に他の人によって投稿されたもので、誰も回答していません。まだ誰もこれに遭遇していないとは信じがたいです。

同様の問題を抱えている他の人がいます:http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3883110&SiteID=1&mode=1

Microsoft Connect のバグ: https://connect.microsoft.com/wcf/feedback/ViewFeedback.aspx?FeedbackID=367963

障害がどのように機能するかの説明: http://blogs.msdn.com/drnick/archive/2006/12/19/creating-faults-part-3.aspx

私は何か間違ったことをしていますか、それとも本当に WCF のバグですか?

0 投票する
5 に答える
32106 参照

soap - WSDL生成ツール

一部のSOAPWebサービス用のWSDLファイルを作成するための優れた(できればオープンソースの)ツールを誰かが推奨できますか?

利用可能なEclipseプラグインのいくつかを試してみましたが、見つけたものにはあまり感心しませんでした。

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

java - Apache Axis2 および WSDL2Java を使用して SOAP 応答に名前空間参照を追加する方法

開発中の Web サービスからの SOAP 出力を見ていると、興味深いことに気付きました。

nil である 2 つの newKeys 要素があり、両方の要素が xsi の名前空間参照を挿入します。名前空間参照が 1 回だけ送信されるように、その名前空間を soapenv:Envelope 要素に含めたいと思います。

私は WSDL2Java を使用してサービス スケルトンを生成しているため、Axis2 API に直接アクセスすることはできません。

0 投票する
28 に答える
122608 参照

xml - Web サービスの SOAP または REST?

REST は Web サービスを行うためのより良いアプローチですか、それとも SOAP ですか? それとも、さまざまな問題に対するさまざまなツールですか? それとも微妙な問題なのですか?つまり、特定のアリーナでは別のアリーナよりもわずかに優れているなどですか?

これらの概念と、PHP ユニバースおよび最新のハイエンド Web アプリケーションとの関係についての情報を特に感謝します。

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

apache-flex - Flex を使用して ISO-8859-1 で SOAP リクエストを送信する方法は?

Flex はデフォルトで UTF-8 を使用します。actionscript WebService クラスで別のエンコーディング/文字セットを指定する方法は見つかりませんでした。

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

soap - kSOAPマーシャリングのヘルプが必要

kSOAPパッケージを使用した複雑なオブジェクトマーシャリングの良い例はありますか?

0 投票する
6 に答える
35284 参照

.net - wsdl.exeエラー:名前空間'...'からバインディング'...'をインポートできません

作成したWSDLでwsdl.exeを実行すると、次のエラーが発生します。

エラー:名前空間「SomeNS」からバインディング「SomeBinding」をインポートできません。

  • 操作'someOperation'をインポートできません。
  • これらのメンバーは派生しない場合があります。

私はドキュメントリテラルスタイルを使用しており、私の知る限り、すべてのルールに従っています。

要約すると、有効なWSDLがありますが、ツールはそれを好みません。

私が探しているのは、誰かがwsdl.exeツールの経験が豊富で、私が知らない秘密の落とし穴について知っているかどうかです。

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

xml - XML-RPC と SOAP の違いは何ですか?

Web サービスの実装者がどちらか一方を選択する理由がよくわかりません。XML-RPC は一般的に古いシステムで見られますか? これを理解するための助けをいただければ幸いです。

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

c# - メッセージのリストを Web サービスに照会しますか?

Web サービスにクエリを実行して、サポートされているメッセージを確認する簡単な方法はありますか? 私が取り組んでいる C# .NET アプリケーションは、送信しようとしているメッセージを実装していない古いバージョンの Web サービスを処理できる必要があります。Web サービスはバージョン番号を公開しないため、プラン B はメッセージが定義されているかどうかを確認することです。

WSDL に対して HTTP 要求を作成して解析するだけでよいと想定していますが、その道をたどる前に、もっと簡単な方法がないことを確認したいと思います。

更新: WSDL を取得してメッセージを直接取得することにしました。すべてのメッセージを取得するための大まかなドラフトは次のとおりです。

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

java - C++でのGsoapエラー

私はgsoapを使用してC++でsoapサーバーを作成しています。メッセージは、Javaで記述されたバスを介してルーティングされます。サーバーとバスの両方がマルチスレッド化されています。システムを介して一度に1つのメッセージを送信すると、すべてがうまく機能します。3つのクライアントを起動して、それぞれができるだけ速くメッセージを送信すると、約3500のメッセージですべてが正常になります。その後、定期的に「一度に1つのソケット接続のみが許可されます」という受信を開始します。gsoapコードからのエラー。通常、4000通のメッセージのうち約3950通がOKです。過去500回の送信で50回すべての障害が発生しました。

  1. 送信の開始時にではなく、多くの送信後にこれらのエラーが発生するのはなぜですか?送信率は上がりません。

  2. それは何について話しているのですか?エラーの説明が見つからず、その意味がわかりません。

  3. gsoapアプリのマルチスレッド化に成功した人はいますか?

これが私のサーバーコードです。