最初の型の問題は、タイプがwebservice(asmx)のmethosを呼び出すときに型が常にnullとして処理されることでした。石鹸を調べると、そのタイプが空の要素になっていることが確認されました。そこで私は簡単なテストを試みました。
はここで今ここでそれをシリアル化するためにいくつかの簡単なコードはもちろん XmlSerializerで型が正しくシリアライズされない理由
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://dto12.api.echosign")]
public partial class SendDocumentInteractiveOptions {
private bool authoringRequestedField;
private bool authoringRequestedFieldSpecified;
private bool autoLoginUserField;
private bool autoLoginUserFieldSpecified;
private bool noChromeField;
private bool noChromeFieldSpecified;
/// <remarks/>
public bool authoringRequested {
get {
return this.authoringRequestedField;
}
set {
this.authoringRequestedField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool authoringRequestedSpecified {
get {
return this.authoringRequestedFieldSpecified;
}
set {
this.authoringRequestedFieldSpecified = value;
}
}
/// <remarks/>
public bool autoLoginUser {
get {
return this.autoLoginUserField;
}
set {
this.autoLoginUserField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool autoLoginUserSpecified {
get {
return this.autoLoginUserFieldSpecified;
}
set {
this.autoLoginUserFieldSpecified = value;
}
}
/// <remarks/>
public bool noChrome {
get {
return this.noChromeField;
}
set {
this.noChromeField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool noChromeSpecified {
get {
return this.noChromeFieldSpecified;
}
set {
this.noChromeFieldSpecified = value;
}
}
}
WSDL
から生成された私のタイプです。SendDocumentInteractiveOptions sdio = new SendDocumentInteractiveOptions();
sdio.authoringRequested = true;
sdio.autoLoginUser = true;
sdio.noChrome = true;
XmlSerializer xmlSer = new XmlSerializer(typeof(SendDocumentInteractiveOptions));
XmlWriter xw = new XmlTextWriter(@"g:\test.xml", null);
xmlSer.Serialize(xw, sdio);
xw.Close();
そして、ここで結果のXML
& LTある?xmlのバージョン= "1.0"? & GT & ltSendDocumentInteractiveOptionsのxmlns:のxsd = "http://www.w3.org/2001/XMLSchema" のxmlns:XSI = "http://www.w3.org/2001/XMLSchema-instance"/& GT
ここで私は何が欠けています。私のパブリックプロパティがシリアル化されないのはなぜですか?