問題タブ [service-reference]
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.
c# - .NETSOAPシリアル化無制限シーケンス
次の型定義を含むWSDLがあります。
VS 2010でサービスをサービス参照として追加する場合、OrderItems
クラスにitem
はタイプが。のプロパティが含まれますOrderItem[]
。次に、SOAPリクエストが次のように生成されます。
XmlArray
およびXmlArrayItem
属性を使用して、<OrderItem>
および<item>
要素の名前をそれぞれ制御できますが、目的の構造に到達できません。
<xsd:restriction base="soap-enc:Array">
WSDLが無制限のシーケンスではなくのようなものを指定した場合、この問題を回避できることを私は知っていますが、上記を考えると、カスタムシリアル化を使用する唯一の方法はありますか?
編集: https://gist.github.com/1422704のWSDLの例
wcf - WCF: サービス参照の追加でクライアント プロキシ コードが生成されない
Visual Studio 2010 Express を使用してこのプロジェクトを実行しようとしています。
http://www.codeproject.com/KB/windows-phone-7/Text_to_speech_in_wp7.aspx?display=Print
Windows 7 電話のテキスト読み上げをテストします。への参照を追加すると
すべてがうまくいくようです。ただし、クライアント プロキシ コードを取得できません。Reference.cs は空で、Visual Studio は次の警告とエラーを表示します。
警告 1 カスタム ツールの警告: wsdl:portType をインポートできません 詳細: WSDL インポート拡張機能の実行中に例外がスローされました: System.ServiceModel.Description.DataContractSerializerMessageContractImporter エラー: 型 'System.Runtime.Serialization.DataContractSet' をアセンブリ 'System から読み込めませんでした.Runtime.Serialization、バージョン = 2.0.5.0、カルチャ = ニュートラル、PublicKeyToken = 7cec85d7bea7798e'。エラー ソースへの XPath: //wsdl:definitions[@targetNamespace='http://api.microsofttranslator.com/V2']/wsdl:portType[@name='LanguageService'] D:\Documents\Visual Studio 2010\Projects \TrackMe\TrackMe\Service References\MicrosoftTranslator\Reference.svcmap 1 1 TrackMe
警告 2 カスタム ツールの警告: wsdl:binding をインポートできません 詳細: wsdl:binding が依存している wsdl:portType のインポート中にエラーが発生しました。wsdl:portType への XPath: //wsdl:definitions[@targetNamespace='http://api.microsofttranslator.com/V2']/wsdl:portType[@name='LanguageService'] エラー ソースへの XPath: //wsdl:定義[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='BasicHttpBinding_LanguageService'] D:\Documents\Visual Studio 2010\Projects\TrackMe\TrackMe\Service References\MicrosoftTranslator\Reference. svcmap 1 1 トラックミー
警告 3 カスタム ツールの警告: wsdl:port をインポートできません 詳細: wsdl:port が依存している wsdl:binding のインポート中にエラーが発生しました。wsdl:binding への XPath: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='BasicHttpBinding_LanguageService'] エラー ソースへの XPath: //wsdl:definitions[@ targetNamespace='http://tempuri.org/']/wsdl:service[@name='SoapService']/wsdl:port[@name='BasicHttpBinding_LanguageService'] D:\Documents\Visual Studio 2010\Projects\TrackMe\ TrackMe\Service References\MicrosoftTranslator\Reference.svcmap 1 1 TrackMe
警告 4 カスタム ツールの警告: Silverlight 3 と互換性のあるエンドポイントが見つかりませんでした。生成されたクライアント クラスは、コンストラクターを介してエンドポイント情報が提供されない限り使用できません。D:\Documents\Visual Studio 2010\Projects\TrackMe\TrackMe\Service References\MicrosoftTranslator\Reference.svcmap 1 1 TrackMe
警告 5 カスタム ツールの警告: 呼び出しのターゲットによって例外がスローされました。D:\Documents\Visual Studio 2010\Projects\TrackMe\TrackMe\Service References\MicrosoftTranslator\Reference.svcmap 1 1 TrackMe
エラー 6 カスタム ツール エラー: サービス参照 'MicrosoftTranslator' のコードを生成できませんでした。詳細については、その他のエラーおよび警告メッセージを確認してください。D:\Documents\Visual Studio 2010\Projects\TrackMe\TrackMe\Service References\MicrosoftTranslator\Reference.svcmap 1 1 TrackMe
「参照されたアセンブリで型を再利用する」のチェックを外しても役に立ちません。
誰もこれに遭遇しましたか?
silverlight - Silverlight サービス リファレンスの生成 - プロキシ クラスが生成される原因を特定する方法
.Net4 バックエンドと Silverlight 5 フロント エンドの間で共有したい大きなオブジェクト構造があります。適切なタイプの 2 つのクラス ライブラリ プロジェクトを作成し、オブジェクト構造を .Net ライブラリに実装して、SL ライブラリにリンクしました。Silverlight クライアント側では、Silverlight クラス ライブラリを参照しています。サービス参照を生成するときに、「参照されたアセンブリで型を再利用する」オプションをオンにしました。ただし、サービス参照を生成すると、参照されたアセンブリにある型がまだ生成されていることがわかります。それは特定のタイプのみであり、大部分はコレクション タイプのようです (属性は に帰属します<CollectionDataContract>
)。
私は多くのプロパティを持つメイン オブジェクトを持っています。これらのプロパティは一般的に であるかList<MyTypeA>
、場合によってはMyListTypeB
であり、MyListTypeB
から継承されList<MyTypeB>
ます。MyListTypeB
プロキシが生成されるのは、それに似たクラスのようです。これらはすべて属性が<CollectionDataContract>
あり、デフォルトのコンストラクターがあります。
また、サービス参照を追加しているプロジェクトに、エンティティを含む他の SLプロジェクトへの参照がある場合でも、サービスを更新すると、dll への直接の新しい参照もプロジェクトに追加されます。なぜこれが起こっているのか、それともサービス プロキシの生成で混乱を引き起こしているのかはわかりません
サービス生成がプロキシ クラスを生成する原因となっているクラス/プロパティを特定する方法はありますか? それとも、属性が生成されなくなるまで属性をコメントアウトし、問題のクラスに焦点を合わせなければならない試行錯誤のケースですか?
c# - 固定ポートを使用してWCFサービス参照を追加するにはどうすればよいですか?
これを使用してWindowsサービスによってホース接続されているWCFサービスがあります。app.config
サービスにサービス参照を追加しようとすると([サービス参照の追加]プロンプトで[検出]をクリックして)、http://localhost:33908/AgileService.svc
サービスでURIとして使用するhttp://localhost:24453/AgileService
ようにURIが表示されます。どうすればこれを達成できますか?
c# - WCF サービスで利用可能なサービス コントラクト インターフェイスの 1 つのみに対してクライアントを生成します。
私は現在、複数の異なるクライアント アプリケーションで使用される 1 つのサービス コントラクト インターフェイス (以降「SCI」) で構成される大規模な WCF サービスをリファクタリングしています。クライアント アプリケーションの種類ごとに、必要な操作に固有の SCI が存在するように、SCI を分割しました。SCI の一部の共有セクションは、クライアント アプリケーション固有の SCI が継承する基本 SCI で定義されます。
すべてのクライアント固有の SCI を実装する単一のサービス クラスがあります。共有ベース SCI からのダイアモンド インターフェイス継承状況があるという事実は、場合によっては、同じ操作が複数の SCI を介して利用可能であることを意味します。クライアントを自動生成する場合 (特に非同期クライアント メソッドを使用する場合)、結果のコードには多くの醜いものがあり<generated-type>1,2,3
ます...
これを回避するために、特定のアプリケーションに関連する SCI のクライアントのみを生成するサービス参照を各クライアント アプリケーションに追加したいと考えています。同じ機能が異なる SCI に表示されるため、問題は発生しません。
これは可能ですか?
この状況でモジュール性とコードの再利用の両方を達成するための他のヒントもいただければ幸いです。
asp.net - ソース コントロールに追加する必要があるファイル (サービス リファレンス)
.Net プロジェクトにサービス参照を追加すると (右クリック -> [サービス参照を追加])、VS はサービス名のフォルダーを作成し、多数のファイルを作成しました (以下にリスト)。どのファイルをソース管理に追加すればよいかわからないので、次にサービス参照をアップグレードするときに、一部のファイルを削除して新しいファイルを追加することはありません。VS がサービス フォルダーに作成したファイルの一覧は次のとおりです。
.net - Visual Studio/.NETサービスリファレンスHTTPバージョン
プロジェクトに「サービス参照」を追加していますが、HTTPバージョンの違い(1.0と1.1)が原因であると思われる問題が発生しています。デフォルトでどのバージョンが使用されているか、またはリクエスト中にどのバージョンが使用されているかをどこで確認できるかを誰かが知っていますか?
c# - WebService は ServiceReference を介して更新されません
私の Visual Studio ソリューションには 2 つのプロジェクトがあります。1 つはWcfService アプリケーション プロジェクトで、もう 1 つは Web サービスにローカルにアクセスするためのServiceReferenceを持つ通常のC# Silverlight プロジェクトです。
Web サービスの変更がSL プロジェクトに表示されないという事実を除いて、基本的にすべて正常に動作します。
たとえば、サービスのインターフェイスの [DataContract] クラスの属性を変更すると、両方のプロジェクトが正常にコンパイルされますが、SL プロジェクトで Web サービスにアクセスすると、変更前の状態しかありません。
VisualStudios ObjectBrowser で ServiceReference を表示すると、同じ結果が得られます。変更されていない My Web Service です。
組み込みの自動「サービス参照の追加」機能を使用して、ServiceReference を SL プロジェクトに追加しました。Web サービスを変更するたびに、SL プロジェクトのサービス参照で [サービス参照の更新] をクリックすると成功しますが、効果はありません。サービス参照を削除して再度追加しても、属性が変更された Web サービスは表示されません。
数日前にサービス プロジェクトの名前を変更したためかもしれません。ソリューションからサービス プロジェクトをアンロードし、ファイル システム内のフォルダーの名前を変更して、「既存のプロジェクト」としてソリューションに再度追加しました。次に、サービス ファイル (.svc & .svc.cs) とサービス インターフェイス ファイルの名前を変更しました。==>その後、認識されていない変更を除いて、すべてが正常に機能しているようです?! また、このサービスに ServiceReference を追加すると、新しいファイルではなく、名前を変更した 2 つのファイルの古い名前が表示されます!?
ここで何が起こっているのか、誰にも手がかりがありますか? この長い質問を読んでくれてありがとう;)
wcf - クライアント プロキシを手動で作成することと MSMQ WCF サービスを参照することの違いは?
MSMQ トランスポートを使用する WCF サービスのほとんどの例では、単純にサービス参照を追加するよりも、Visual Studio コマンド プロンプトで svcutil を使用して手動でプロキシを作成することを常にお勧めします。Visual Studio の [サービス参照の追加] ダイアログにエンドポイント アドレスを指定するだけでサービスを参照できるのに、なぜ VS コマンド プロンプトでプロキシを作成する必要があるのでしょうか (少し手間がかかるため)。WCF 4 Step by Stepを読んでいるときに、これに出くわしました:
Visual Studio のサービス参照の追加ウィザードを使用して、MSMQ トランスポートを使用する WCF サービスへの参照を簡単に追加できないことに注意してください。
なぜそれが難しいのですか?WCF サービスを参照する前の方法の利点 (ある場合) は正確には何ですか? プロキシを手動で作成すると、タスクが不必要に複雑になるだけのように思えます。
c# - サービス参照を使用した .NET でのマルチパート メッセージング c#
私は何時間も探しましたが、やや一般的な問題であると想像するものに対する答えが見つかりませんでした.
サービス参照 (asmx) を介してサービスに送信したいデータ (文字列 [2000000]) がたくさんあります。現在、SOAP はサイズが原因で爆発します。明日は 4M 文字列を送信する可能性があるため、パイプを増やしたくありません。
だから私はマルチパート SOAP メッセージを考えていましたが、.NET はこれをネイティブにサポートしていません (そうですか?)。では、これを行うにはどうすればよいでしょうか。ヘルプやリンクは大歓迎です。
コーリング コード: