問題タブ [wscf]

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 に答える
3541 参照

.net - WSDL からのサービス コントラクトの生成

ServiceContract (OperationContract、DataContract) を生成するために必要な WSDL があります...

ASMX WebServicesでそれを行う方法を見つけましたが、WCF でそれを行う方法が見つからないようです。

走ってみました

しかし、結果のインターフェースは入ってくる呼び出しを逆シリアル化しないので、サービス実装へのすべての要求パラメーターはnull

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

c# - WCF で WSDL からコードを生成すると、既定値と一致しないメッセージが返される

わかりました、これは私を狂わせています。事前定義された wsdl からサービス実装コードを構築しようとしてきましたが、サービス コントラクト/インターフェイスで一貫してメッセージを返しています。

svcutil.exe と WSCF の Generate Service コード ウィザードを使用してこれを実行しようとしましたが、どちらも同じ結果を返します。

以下は私が使用しているWSDLです。ここにタイプを追加しました。別々の xsd に分割していますが、両方を投稿したくありませんでした。この wsdl (すべての型が埋め込まれている) を使用すると、同じ問題が発生します。

このブログ投稿 ( http://pzf.fremantle.org/2007/05/handlign.html ) を確認しましたが、この問題に関して私が見つけたのはこれだけです。言われたことはすべてやったと思いますが、まだ問題があります。

他の誰かがこれに出くわしましたか? それは非常に腹立たしいです、多分私は明らかな何かを見逃しています. どんな助けでも大歓迎です。

marc_s さん、ありがとうございます。

わかりました、それはうまくいったようです。応答タイプに「s」がなかっただけです。ドー!

現在、サービス コードは正常に生成されているようですが、サービスを参照すると、データ コントラクト/xsd がなく、wsdl に対する操作がありません。

次のようになります。

コードを生成した wsdl のように見えると思いますか?

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

c# - XmlSchemaForm.Unqualified を使用した .NET の XmlSerializer

次のコードがあるとします。

出力は次のとおりです。

問題は、フォーム プロパティを設定すると、ルート要素と同じ名前空間を持つ属性がある場合でもXmlSchemaForm.UnqualifiedElement要素の名前空間が に設定されるのはなぜですか?""XmlTypeAttribute

この種のコード (XmlSchemaForm.Unqualified部分) はWSCF.blueツールによって生成され、名前空間を台無しにしています。

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

c# - XSDデータコントラクトでジェネリックTypeパラメーターを指定するにはどうすればよいですか?

Webサービスメソッド呼び出しに対して次の要求と応答のデータコントラクトペアがあります

問題は、私が欲しいのは言い方(擬似コード)であるということです

また、通過するタイプに応じて、応答にIListが含まれるようにします。

上記のデータコントラクトXSDでは、Type定義を指定するだけの場合、リクエストオブジェクトにクラスのインスタンスが必要です。

本当に私はそれが欲しいと思います

しかし、XSDでジェネリッククラス/メソッドを指定する方法がわかりません。誰かが私に良い記事を指摘したり、XSDでこれを定義する方法を説明したりできますか?

コード生成にもWSCFblueを使用しています。

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

c# - 障害メッセージを含む WCF サービスの一方向メソッド

wcf サービスの一方向メソッドを作成したいと考えていました。障害メッセージを返したくない場合は、すべて問題ありません。

wsdl および契約ファイルに wscf blue コード ジェネレーターを使用しています。

wsdl 操作要素には、'Input' および 'Fault' 子要素しかありません。サービスを実行すると、一方向通信で障害メッセージを宣言できないという情報が得られました..解決策の1つは、一方向をfalseに設定することです..私がしたことはうまくいきます。エラーが発生した場合、メッセージが表示されます。

ただし、Web サービス/wsdl 作成ルールを破ったのではないかと思っています... wsdl サービス スキーマ ジェネレーターから、一方向通信 (「true」に設定) が作成され、他のプログラミング言語のジェネレーターはおそらく同じことを行うためです。 ...

それで、私がしたことは正しいですか?ジェネレーターがコードを適切に作成できるように wsdl を変更するにはどうすればよいですか?

理論上、一方向の通信でフォルトを使用できない場合、エラーを返すために応答に追加の構造が必要ですか?

ありがとう!

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

wcf - xsdで生成されたデータクラスを使用するWCFサービスは、空のオブジェクトを返します

WCFサービスを構築するためのデータクラス(xsd.exeまたはWSCF-blueを使用)を生成するxsdファイルがあります。

次に、生成されたクラスを次のようにWCFサービスの操作に追加します。

クライアントからその操作を呼び出すと、クライアントはMyGeneratedClassOutnull値で満たされた要求を返しますが、サーバー側でそれらを埋めるのは困難です。

誰かがこれを解決する方法を知っていますか?これは、XSDファイルまたはWCF構成の問題でしょうか?

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

c# - WCF クライアント/サービスで ActionNotSupportedException が発生するのはなぜですか?

私はWCFを学んでいます。具体的には、最初にコントラクトを書く方法を学んでいます.ala wscf.blue

コントラクトの最後の方法で WCF クライアント/サービスを作成できます (Microsoft) コントラクトの最初の方法で WCF クライアント/サービスを作成できます (WSCF)

しかし、最初にコントラクト サービスを作成し、それを WSCF.blue の方法 (コントラクトを共有してクライアントを生成する) の代わりに Microsoft の方法 (サービス リファレンス) で追加しようとすると、機能しません。

ActionNotSupportedExceptionメッセージとともに をスローしますThe message with Action 'urn:test-com:simple:testMethodIn' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).

そして、私はそれが何を意味するのか分かりません。

これが私のテスト契約です:

シンプルモデル.xsd

SimpleMessages.xsd

シンプル.wsdl

web.config の system.serviceModel セクションは次のとおりです。

http://localhost:50862/Simple.svcEveryへのサービス参照を追加すると、 OK が生成されるように見えます。

web.config をインポートすることにより、サービス構成エディターを使用してクライアント app.config でこれを作成します。

そして、テストコードを実行すると:

TestMethod プロキシ内の次の行:

次の例外をスローします

誰でも助けることができますか?

ありがとう、

J.

最初の編集

OK、doc-lit-wrapped wsdl とコード ジェネレーターに問題があることがわかりました。wscf.blue は、メッセージに null 許容型が nillable としてマークされていることを好みません。ラップ モードから外れ、メソッドの実装はラップ解除されません。

ただし、それらを nillable としてマークしないと、クライアント コードはラッピング モードから外れます。これらは nullable 型であり、nillable としてマークされていないためです。

null 許容型が nillable でないとマークされている場合:

サーバ側:

クライアント側:

null 許容型が nillable としてマークされている場合:

サーバ側:

クライアント側:

ただし、それが原因であるかどうかはわかりません。それを修正する方法は言うまでもありません。そうは言っても、 doc-lit-wrapped wsdl では、null 許容型を nillable とマークする必要があることは知っています