Microsoft のポータブル ライブラリ ツールを使用して、Silverlight と WPF アプリケーションの両方で使用できる共通の "ポータブル" プロジェクトを作成しようとしています。
サード パーティの Web サービスへのサービス参照をポータブル プロジェクトに追加する際に問題が発生しました。ポータブル クラス ライブラリは MessageContractAttribute クラスのisWrapped属性をサポートしていないようです。たとえば、Silverlight アプリケーションでクライアント スタブを直接作成すると、スタブは次のようになります。
[System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
public partial class ServiceRequest1 {
しかし、私のポータブル プロジェクトでは、IsWrappedプロパティの設定が欠落しており、次のようになっています。
[System.ServiceModel.MessageContractAttribute()]
public partial class ServiceRequest1 {
手動でも設定できないようです。利用できない/未定義です。その結果、Web サービスの SOAP リクエストに不要なラッパー タグが含まれ、サーバーが不正な形式のリクエスト エラー メッセージを返します。
これに対する既知の回避策はありますか?ラッパーをオフにする他の方法はありますか、または IsWrapped プロパティが利用できない理由を誰かが知っていますか?
これを機能させることができれば、私の WPF と Silverlight ソリューションで共有できれば素晴らしいことです。