わかりました、私はこれで本当に迷っています。XMLを投稿するwcfサービスを作成しましたが、サービスはデータで何かを行います。xml の一番上に開始 xml タグを配置する場合を除いて、すべてがうまく機能します。デバッグ モードですべてを表示すると、データが null として表示されます。
wcf の私の C# コードは次のようなものです。
public interface ITest
{
[OperationContract]
void DoWork();
[OperationContract]
[WebDispatchFormatter]
[WebInvoke(UriTemplate = "MyTest", Method = "*")]
void MyTest(PassedIn request);
}
[Serializable]
[DataContract(Namespace = "", Name = "")]
public class PassedIn
{
public PassedIn() { }
[DataMember]
public string firstname {get; set;}
[DataMember]
public string lastname {get; set;}
[DataMember]
public string email {get; set;}
}
さまざまな xml 投稿を次に示します。
<mypost>
<firstname>test</firstname>
<lastname>foo</lastname>
<email>test@bar.com</email>
</mypost>
<?xml version="1.0"?>
<mypost>
<firstname>test</firstname>
<lastname>foo</lastname>
<email>test@bar.com</email>
</mypost>
次のように datamember に順序を追加することで、タグが xml にあるときにデータが失われない場所でこれを修正できました。
public class PassedIn
{
public PassedIn() { }
[DataMember (order=1)]
public string firstname {get; set;}
[DataMember (order=2)]
public string lastname {get; set;}
[DataMember (order=3)]
public string email {get; set;}
}
しかし、今では逆効果です。「?xml バージョン」タグがない場合、データは null として送信されます。
誰かがこれに遭遇しましたか?本当にいくつかのアドバイスを使用できます。ありがとう