0

GETリクエストでこのxml応答を返すサイトがあります。

<ServerUnits>
    <State Name="ServerName" Date="2008-04-01" >
    <Users>
       <User login="someUser1" Password="123456">
       <User login="someUser2" Password="qwerty">
    </Users>
</ServerUnits>

このサービスでの作業にWCFクライアントを使用したいと思います。WCFClienに対するこの応答のメッセージコントラクトを非難する方法

4

3 に答える 3

0

WCFサービスのクライアントプロキシを作成することをお勧めします。(@Aliostadで言及されているように)データコントラクトが作成されるため、手動で作成する必要はありません。これを行うには、ソリューションを右クリックし、コンテキストメニューから[サービス参照の追加...]を選択して、WCFサービスのアドレスを入力します。

于 2011-03-30T10:57:30.017 に答える
0

あなたが投稿したものはSOAPメッセージでMessageContractはないので、適切ではありません。

あなたが投稿したのはSOAP本文のコンテンツだと思いますので、これに沿って何かをする必要があります。

[DataContract]
public class ServerUnits
{
    [DataMember]
    public ServerState State { get; set; }

    [DataMember]
    public List<User> Users { get; set; }
}

[DataContract]
public class ServerState
{
    [DataMember]
    public string Name { get; set; }

    [DataMember]
    public DateTime Date { get; set; }
}

[DataContract]
public class User
{
    [DataMember]
    public string login { get; set; }

    [DataMember]
    public string password { get; set; }

}

アップデート

あなたのメッセージはSOAPではありません。webHttpBindingただし、POXを送受信するコードを使用する場合は、上記のコードを引き続き使用できます。

于 2011-03-30T09:20:10.237 に答える
0

WCFは役に立たないと思います。

より簡単な方法は、このxml応答に一致するオブジェクトを記述し、xmlストリームをオブジェクトインスタンスに逆シリアル化することです。

于 2011-03-30T09:25:02.390 に答える