問題タブ [web-services]
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.
asp.net - リクエストごとに分離された Global.asax の共有/静的変数?
サーバーごとに1つのインスタンスをインスタンス化するだけでよい共通のヘルパークラスをすべて共有するASP.NET Webサービスがいくつかあります。これはデータの単純な変換に使用されますが、起動時に web.config ファイルなどからの読み込みに時間がかかります。ヘルパー クラスは 100% スレッド セーフです。ユーティリティ呼び出しの単純なライブラリと考えてください。すべてのメソッドをクラスで共有したいのですが、web.config から初期構成をロードしたいと考えています。IIS 6.0 に Web サービスを展開し、アプリケーション プールを使用して、15 ワーカーの Web ガーデンを使用しました。
Global.asax でヘルパー クラスを Private Shared 変数として宣言し、次のように遅延読み込み Shared ReadOnly プロパティを追加しました。
のコンストラクターにログ記録コードがありMyHelperClass()
、同じスレッドであっても、リクエストごとにコンストラクターが実行されていることが示されます。ASP.NET のいくつかの重要な詳細が欠けているだけだと思いますが、MSDN はあまり役に立ちませんでした。
Application("Helper")
と の両方を使用して同様のことを試みましCache("Helper")
たが、各リクエストでコンストラクターが実行されるのを見ました。
asp.net - ASP.NET WebServiceは、例外をスローすると、ぎこちない文字を返します
私はWebサービス(ASMX)を持っており、その中には、いくつかの作業を実行し、入力が有効でない場合に例外をスローするWebメソッドがあります。
Webページのクライアント側JavaScriptに戻り、エラーコールバック関数で、エラーを表示します。
これはうまく機能し、私のWebメソッドが(文字列)を返すとき、それは常に完璧に見えます。ただし、スローされた例外からのエラーメッセージの1つに特殊文字が含まれている場合、ブラウザに正しく表示されません。たとえば、エラーメッセージに次のものが含まれている場合:
その入力は無効です! (そこにはASCII#146があります)
これを表示します:
その入力は無効です!
または:
あなたはハスカー・ドゥが好きですか?(ASCII#252)
になる:
あなたはHüskerDüが好きですか?
エラーメッセージの内容は、UTF-8エンコーディングのXMLファイルからのものです。
そして、ページエンコーディングに関する限り、私のWeb.configには、次のものがあります。
L10nパラメータを設定するためのHTTPモジュールもあります。
このHTTPモジュールを無効にしてみましたが、結果は同じです。
Webサービス(l_errMsg変数内)によって返される値は、VSデバッガーでは正常に見えます。クライアントスクリプトが保持されると、正しく表示されなくなります。私はFirebugを使用して応答を確認しましたが、そこには特殊文字も含まれています。そのため、特殊文字が含まれていても、Webメソッドによって返される文字列が正常に表示されるのはかなり奇妙です。しかし、Webメソッドから例外をスローすると、メッセージ内の特殊文字が正しくありません。どうすればこれを修正できますか?
c# - オブジェクトの配列を返す Java Web サービスを使用する C# クライアントの記述
私は、Java で書かれた Web サービスを呼び出す C# クライアントを作成しています (別の人が作成しました)。クライアントに Web 参照を追加し、Web サービスのメソッドを正常に呼び出すことができました。
オブジェクトの配列を返すようにサービスが変更されましたが、クライアントは返された SOAP メッセージを適切に解析しません。
生成された C# プロキシが (SoapHttpClientProtocol.Invoke を使用して) Web サービスを呼び出すとき、長さ 1 の MyResponse[] 配列、つまり単一の要素が必要です。Invoke 呼び出しの後に得られるのは、サービスが実際に返すものに関係なく、id=0 および reason=null の要素です。パケット スニファーを使用すると、サービスが、id と理由が null 以外の値に設定された正規の SOAP メッセージのように見えるものを返していることがわかります。
C# クライアントが someobject[] を返す Java Web サービスを呼び出せるようにするためのトリックはありますか? 必要に応じて、サニタイズされたデモの入手に取り組みます。
編集: これは、「Web 参照の追加...」による Web 参照です。VS 2005、.NET 3.0。
.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 のバグですか?
web-services - WebService 呼び出しでの文字列のシリアル化エラー
今朝、Web サービス呼び出しの結果としてテキスト文字列が返されるという問題に遭遇しました。私が得ていたエラーは以下です
検索を行った結果は以下のとおりです。 検索結果
それらのほとんどは WCF 関連ですが、正しい方向に向けるのに十分でした。返信として回答を投稿します。
c++ - C++ Web サービス フレームワーク
RPC をサポートする C++ Soap Web サービス フレームワーク、できればオープン ソースを探しています。推奨事項はありますか?
asp.net - Web サービスのパフォーマンスを理解しようとしている
約 1 年前に ASP.NET スクリプトを購入して、FedEx の送料を取得しました。HttpWebRequest を使用して FedEx サーバーに渡す XML 文字列を構築し、生の XML を解析します。スクリプトの平均応答時間は約 900 ミリ秒です。
そこで先日、FedEx デベロッパー センターをうろついていたところ、Web サービスを使用するための C# コード サンプルがいくつか提供されていることがわかりました。彼らのコードと WSDL ファイルを使用して小さなプロジェクトを作成したところ、平均応答時間が約 2.5 秒であることに驚きました。
誰かが速度の違いを理解するのを手伝ってくれますか? そして、それをより速くする方法はありますか?Web サービスを使用した経験はありません。
ありがとう。
java - Microsoft Reporting Services Web サービスと Java
Microsoft SQL Server 2005 Reporting Services を使用する Java ベースのソリューションの実装に成功した人はいますか? Reporting Services には、レポートの作成、レポートの実行などを制御できる一連の Web サービスが付属しており、私はこの統合の POC の開発を開始したところです。wsdl から Java への変換機能に Axis2 を使用するか、WebLogic の clientgen (wsdl 2 java) ソリューションを使用するかという選択をまだ行っていません。JAX-WS と wsimport も使用できると思います。これに飛び込む前に、利用可能な多くのオプションの 1 つを使用して、誰かがこれを成功させているかどうかを確認したいと思いました。
過去に、.NET Web サービスと Java Web サービスの間で null/blank/empty がどのように処理されるかについていくつかの問題がありましたが、これが SSRS と Java の統合の問題として発生したかどうかを確認したかっただけです。ありがとう
visual-studio - Visual Studio で生成された Web サービス プロキシ クラスのエンコードを停止するにはどうすればよいですか?
Visual Studio で生成されたプロキシ クラスを使用して Web サービスにアクセスしています (プロジェクトへの Web 参照として Web サービスを追加しました)。問題は、Web サービスが公開する関数が CDATA 要素を想定していることです。つまり、次のようになります。
残念ながら、"" をプロキシ クラスに渡すと、次のように Web サービスが呼び出されます。
これにより、Web サービスに問題が発生しているようです。Visual Studio によって生成されたプロキシ クラスを使用している間にこれを修正する方法はありますか?
asp.net - VisualStudiobasicHttpBindingとエンドポイントの問題
VS2008にいくつかのWebサービス参照を含むWPFアプリケーションがあります。さまざまな理由(最大メッセージサイズ、認証方法)のために、サービスバインディングのWPFクライアントのapp.configでいくつかの設定を手動で定義する必要があります。
残念ながら、これは、プロジェクトのサービス参照を更新すると、複数のバインディングとエンドポイントという混乱が発生することを意味します。Visual Studioは、数値の接尾辞(つまり、「Service」の複製としての「Service1」)を使用して新しいバインディングとエンドポイントを作成します。プロジェクト内のサービス参照ごとに1つのバインディングしかないため、構成が無効になります。
これは簡単に複製できます。ソリューションで単純な「HelloWorld」ASP.NetWebサービスとWPFアプリケーションを作成し、app.configバインディングのmaxBufferSizeとmaxReceivedMessageSizeを変更してから、サービス参照を更新するだけです。
現時点では、参照を更新した後にapp.configのチェックアウトを元に戻すことでこれを回避していますが、もっと良い方法があるはずだと思わずにはいられません。
また、手動で変更する必要がある設定は次のとおりです。
と:
サービスファクトリクラスを使用しているため、これらの設定をプログラムで設定できる場合は、プロパティが公開されていないように見えますが、機能します。