問題タブ [messagecontract]
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# - 新しく追加された MessageContract がサービス参照メタデータに表示されない
次のような Document という MessageContract があります。
ほとんどの場合、これで問題ありません。インテリセンスに表示され、問題なくインスタンス化できます。しかし、次のような新しいコントラクトを追加する必要がありました。
十分に単純に見えました。プロジェクトをビルドし、サービス リファレンスを更新しました。しかし、そのクラスは表示されず、インスタンス化できません。
ここで私が間違っていることについてのアイデアはありますか?
c# - System.ServiceModel.Channels.Message 型のパラメーターまたは戻り値の型、または
すべて、WCF サービスのロード中に次のエラーが発生します。System.ServiceModel.Channels.Message 型のパラメーターまたは戻り値の型、または MessageContractAttribute と異なる型の他のパラメーターを持つ型があるため、操作 'GetEffort' を読み込むことができませんでした。System.ServiceModel.Channels.Message または MessageContractAttribute を持つ型を使用する場合、メソッドは他の型のパラメーターを使用してはなりません。
サービス契約はこちら
何が起こっているのかわかりません。メッセージ コントラクトが一致しないという同様の投稿が表示されます。しかし、ここでは Message 型そのものを返しています。
wcf - WCF Messagecontract の名前空間の問題
メッセージ コントラクトをパラメーターとして使用する WCF を開発しました。それらの WSDL を生成すると、カスタム名前空間で MessageContract の名前空間属性をオーバーライドしているにもかかわらず、WCF がhttp://schemas.datacontract.org/2004/07/ Namesapce を追加するメッセージ コントラクトの一部が追加されます。デフォルトの名前空間 ( http://schemas.datacontract.org/2004/07/ )をオーバーライドするのを手伝ってください。
コントラクトと WSDL のサンプル コードを次に示します。
これから生成される WSDL には
どんな助けでも大歓迎です。
c# - WCF OperationContract と動的パラメーター
高度に保守可能な WCF サービスの記述に基づく WCF サービスがあります。リクエストは CommandService を使用して処理されます。
すべてがうまく機能します (Steve に感謝します) が、サービスにファイルをアップロードする機能を追加する必要があります。私が読んだことと、テスト中に受け取ったエラーに基づいて、WCF は を使用[MessageContract]
してファイルをアップロードするときに を使用する必要がありますStream
。そのため、コマンド クラスを装飾し、ストリーム以外のメンバーをメッセージ ヘッダーに配置し、ストリーミングを使用するようにバインディング定義を更新しました。
残念ながら、アップロードするファイルでサービスを呼び出すと、エラーが発生します。
パラメータ http://somewhere.co.nz/NapaWcfService/2013/11:commandをシリアル化しようとしているときにエラーが発生しました。InnerException メッセージは、「Type 'System.IO.FileStream' with data contract name 'FileStream: http://schemas.datacontract.org/2004/07/System.IO ' is not expected.」 でした。
そこで、ファイル アップロード リクエスト専用の新しいメソッドをサービスに追加しました。
AddScadaTileCommand
メソッド定義でパラメーターを変更しない限り、これは完全に機能しますdynamic
。その場合、上記と同じエラーが発生します。これは、 をパラメーターの型として[MessageContract]
使用する場合、属性が適用されないか無視されることを示しているようです。dynamic
これを解決する方法はありますか? または、ストリームを含むリクエストに対して別のメソッドを作成する必要がありますか?
wcf - このスキーマを取得するメッセージ コントラクトを定義する方法は?
この XML SOAP 形式を取得するメッセージ コントラクトを定義するにはどうすればよいですか?
スキーマ:
以下のようにクラスファイルを作成しましたが、応答が異なります
私の応答は次のとおりです。
メッセージ コントラクトを使用して適切なメッセージを取得するにはどうすればよいですか?
c# - WCF サービスがサーバー 2003 で MessageContract エラーを取得し、他の場所ではエラーを取得しない
接続している WCF サービスがあります。テスト時にローカルマシンから正常に動作します。Windows Server 2008 を実行している 1 つのテスト場所でも正常に動作します。
運用マシンの 1 つで Windows Server 2003 を実行していますが、次のエラー メッセージが表示されます。
私はエラーを調べて、それが何を意味するかを知っていますが、2 つの場所で機能し、他の場所では機能しないため、非常に混乱しています。サーバー 2003 に関する何か、または実稼働サーバーで問題を引き起こしている他の設定が不足している可能性はありますか? コードはまったく同じです。
編集:.net 4.0を使用しています
wcf - WCF クライアントでメッセージ コントラクト生成を強制する文字列の戻り値 (またはパラメーター) を持つ ASMX WebService
シンプルな ASMX WebService があり、次のようになります
サービスに関連付けられている WCF クライアントもあります。[常にメッセージ コントラクトを生成する] チェックボックスがオフになっています。WCF クライアントは、生成したくないメッセージ コントラクト クラスを生成しています。
CODEGEN
コメントに注意してください。string
これは、ASMX サービスの WSDL で型が nillable としてマークされていないため、このように構築されているようです。string.Empty
デフォルト値を提供するため、nillable としてマークされていません (maxOccurs=1 もありません) 。
文字列が複合型のメンバーである場合は、それらをマークするだけ[XmlElement(IsNullable=true)]
で問題は解決しますが、関数定義の一部であるため、ここではできません。
これに対する既知の解決策はありますか?ASMX を取得して、WSDL で文字列パラメーターと戻り値の型を nillable としてマークする方法はありますか? または、Nillable でないパラメーター型がある場合でも、WCF クライアントがメッセージ コントラクトの生成を停止する方法はありますか (これにより、パラメーターのオプション性が削除されることがわかっています)。