3

WCF を使用して開発された古い SOAP サービスと、WCF を使用してサービスを呼び出す多数の .NET クライアントがあります。

同じ機能を実装する ServiceStack フレームワークを使用して新しいサービスを作成しました。
クライアントのコードや構成を変更せずに、WCF クライアントから ServiceStack を呼び出すことはできますか?

ServiceStack サービスに必要な変更を自由に加えることができます。

編集:
小さな一歩前進。
正しい名前空間を AssemblyInfo.cs に追加し、"/soap11" を URL に追加すると、最終的に正しいサービス メソッドが呼び出されますが、パラメーター データは転送されません。

クライアントで呼び出される WCF プロキシ メソッドは、1 つのパラメーター「e」を受け取ります。これは、いくつかの文字列および int プロパティを持つクラスです。
回線経由で送信される SOAP 本文は、次で始まります。

<MyMethod xmlns="http://mynamespace">
  <e>
    <PropertyA xmlns="http://schemas.datacontract.org/2004/07/MyProject.Service.Entities">somestring</PropertyA>
    <PropertyB xmlns="http://schemas.datacontract.org/2004/07/MyProject.Service.Entities">123</PropertyB>

ServiceStack DTO は次のようになります。

[DataContract]
public class MyMethod
{
  [DataMember] public EventData e { get; set; }
}

[DataContract]
public class EventData
{
  [DataMember] public string ProperyA { get; set; }
  [DataMember] public int ProperyB { get; set; }
  ...
}

サービスに正しいプロパティ名前空間定義を追加するにはどうすればよいですか?
する必要がありますか?

4

1 に答える 1