問題タブ [asmx]
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.
web-services - Asp.net ルーティング、Web サービス、および IIS7 クラシック
IIS7 Classic で Web フォーム アプリを実行しています。サイトのクライアント側の重い部分に .asmx スタイルの Web サービスを利用します。
私たちは「わかりやすい URL」の階層化を任されており、新しい Asp.net ルーティングを使用することにしました。IIS には、すべての要求を aspnet_isapi.dll にマップするルールがあり、web.config (system.webServer/hanlers) で次の宣言が生成されます。
しかし、現在、ルーティングによって .asmx Web サービス リクエスト ( http://example.com/blah.asmx/SomeMethodの形式) が壊れています。Web サービスへのリクエストは常に楽しいものです。
この行をルート設定に入れます。
「URL の実行に失敗しました」という例外がまだ残っています。これにより、ルートが一致していることがわかります。
「URLの実行に失敗しました」の代わりにそのルートを配置すると、予想どおり「メソッドが実装されていません」と表示されます。
私の疑いは、私たちの * -> aspnet_isapi.dll が大混乱を引き起こしているということです。
事前の洞察に感謝します。
web-services - Web メソッドの IDictionary を実装する組み込みオブジェクトを使用する代わりの方法
ASP.NET で作成された Web サービスを使用する Web アプリケーションがあります。この Web サービスでは、キー値型 (Hashtable や Dictionay など) のコレクション オブジェクトを渡したいと考えています。
ただし、IDictionary から実装されたオブジェクトは使用できません。
Web サービスでシリアル化されたクラスを作成したくありません。
誰でもこれに最適なアプローチを提案できますか?
asp.net - Web サービスで文字列の特殊文字を処理する方法は?
.NET におけるこの根本的な問題と、この質問の理由を示すために、1 つのメソッド (EditString) とそれを呼び出すコンシューマー コンソール アプリを含む簡単なテスト Web サービスを作成しました。
これらは両方とも、ファイル/新しいプロジェクトなどを介して作成された標準の Web サービス/コンソール アプリケーションであるため、コード全体を一覧表示するのではなく、問題のメソッドのみを一覧表示します。
ウェブ方式:
[useSpecial が false の場合、単純に文字列 s を返すことがわかります。useSpecial が true の場合、s + char 19 を返します。]
コンソール アプリ:
[メソッドが hello + 特殊文字 (引数のために ASCII コード 19) を返すため、2 番目の応答は失敗します。]
エラーは次のとおりです。
XML 文書にエラーがあります (1, 287)
内部例外: 「''、16 進値 0x13 は無効な文字です。1 行目、位置 287。」
言及する価値のあるいくつかのポイント:
Web メソッド自体は、ASMX ファイル (例:
http://localhost:2065/service1.asmx
) を直接参照し、(コンソール アプリケーションと同じパラメーターを使用して) これを介してメソッドを実行すると正常に機能します。つまり、文字列 hello + char 19 で XML が表示されます。シリアライズされた XML を他の方法でチェックすると、特殊文字が適切にエンコードされていることがわかります (サーバー側は問題ないようです)。
したがって、クライアント側に問題があるようです。つまり、.NET で生成されたプロキシ クラス コードは特殊文字を処理しません。
これは、文字列属性を含むオブジェクトが Web メソッドに出入りする、より大きなプロジェクトの一部です。これらは、適切に機能するために必要なものです。つまり、クラスをデシリアライズしています。
回避策とその実装方法に関する提案はありますか?
それとも、本当に明白なことを完全に見逃していますか!!?
PS。私は、CDATA タグを使用することにあまり運がありませんでした (.NET はすぐに使用できますか?)。
c# - jQuery から ASMX を呼び出す
jQuery から ASMX メソッドを呼び出そうとしていますが、成功しません。以下は私のコードですが、何が欠けているのかわかりません。
ファイルSomething.js、
ファイルSomethingElse.cs、
asp.net - jQuery 経由で ASP.NET サーバー側メソッドを呼び出す
jQueryを介してクライアント側からサーバー側のメソッドを呼び出そうとしています。私のコードは次のとおりです。
サーバ側:
クライアント側:
サーバー側の SendMessage メソッドにブレークポイントを追加したのですが、ヒットすることはありませんが、コードを実行すると jQuery の成功メソッドが呼び出されます。何が原因でしょうか?
web-services - Windows 認証を使用した ASMX / WCF Web サービスでまれに発生する散発的な 401 Unauthorized エラー
現在、適切なサイズのプロジェクトで使用されているハイブリッド WCF と ASMX Web サービスがあります。現在、ほとんどの場合、すべてが完全に正常に機能していますが、まれに一見ランダムに、Web サービスが呼び出しをブロックし始め、問題のページに 401 Unauthorized エラーが返されることがあります。これを引き起こしているのは ASMX サービス コールのようですが、頻繁に発生するわけではなく、再現性がないため、断言できません。
エラーは IIS のリセット後に解消され、少なくとも 1 回は自然に解消されました。匿名アクセスを無効にして、資格情報の種類として Windows 認証を使用します。
なぜこれが起こっているのかについて誰にもアイデアがありますか?
c# - JSON を返さない ASMX Web サービスは、application/x-www-form-urlencoded contentType を使用してのみ POST できます
contentType = "application/x-www-form-urlencoded; charset=utf-8" の場合、jQuery を使用して Web サービスを呼び出すことができます。
ただし、これは xml を返します。<string>[myjson]</string>
「application/json; charset=utf-8」を使用してサービスに POST しようとすると、StackTrace と ExceptionType が空の 500 エラーが発生します。私の Web サービス関数は決してヒットしないので、この状況をデバッグする方法がよくわかりません。
私のメソッドとクラスは適切な属性で装飾されており、JSON を応答タイプとして使用するように設定されています (wsdl ファイルと disco ファイルと同様)。Ajax 拡張機能がインストールされており、web.config に必要なエントリがあります。
これは SharePoint ファーム上にありますが、それほど大きな違いがあるかどうかはわかりません。すべての WFE に web.config の変更を展開し、ajax 拡張機能をインストールしました。ここでもサービスは機能しますが、デフォルトのコンテンツ タイプ以外は受け入れません。
ここで何が欠けているのかわからない、仲間...
私のajax呼び出し:
私のWebサービスクラス:
asp.net - ASP.Net では、Javascript と PageMethods を使用してユーザー コントロール WebMethod を呼び出すことができますか?
PageMethods が定義されていないと言っています。
web-services - Blackberry から .NET Webservice に Byte 配列を渡す
Blackberry アプリケーションから .NET Web サービス (asmx) にバイト配列を送信しようとしています。
Sun Java Wireless Toolkit (WTK) 2.5.2 を使用して、Blackberry ソリューション内で使用する Web サービス スタブを生成しています。WTK プロジェクト設定は、JSR 172 仕様を使用してスタブを生成しています。
次の方法を使用して、.NET 2005 を使用して Web サービスを作成しました。
この Web サービスの WSDL からスタブを生成しますが、「エラー: 不明な単純型が見つかりました: byte[]」というメッセージが表示されます。私はスタブを生成するこの方法を使用しましたが、以前はエラーを受け取っていませんでした.すべての入力変数が単純な型であったことを認めましたが、これを使用してカスタムオブジェクトの配列を返しました. WSDL ファイルを確認すると、タイプは base64Binary です。
データを渡すためにバイト配列以外に使用できるものはありますか? または、Webサービスがバイト配列を取得できるようにするために欠落している設定がありますか?
web-services - .NETWebサービスのWSDLのURLが正しくない問題
クライアントのサーバーにASP.NETWebサイトをインストールしました。このサイトには、ニュースフィードを表示するためにFlashオブジェクトによって呼び出されるいくつかのWebメソッドを備えたWebサービスがあります。彼らのサイト(例:www.domain.com)を閲覧すると、フラッシュ以外はすべて正常に機能しています。
問題は、.asmxを参照すると、ヘッダーに、ホストがネットワークの内部のサブドメイン(internal.domain.com)であることが示されていることです。明らかに、ネットワークの外部からブラウジングする場合、これはパブリックIPに解決されません。これにより、フラッシュオブジェクトがページに埋め込まれ、クライアント側で実行されているため、フラッシュが失敗します。
問題のサーバーのコンピューター名を確認しましたが、「internal.domain.com」とさえ一致していません。まったく異なるものです。この情報はどこから入手していますか。ホストヘッダーが設定されておらず、サイトのIPが(すべて未割り当て)に設定されているため、IISからのものではありません。
Webサービスを特定のホストに対して強制的に実行するか、サーバー上の何かを変更して、有効な公開ホスト名に解決されるようにする必要があります。ありとあらゆる助けを大いに感謝します!!!!