C# InnerException:将字符串转换为DateTime时。在将每个变量放入DateTime对象之前,分析字符串以确定日期

C# InnerException:将字符串转换为DateTime时。在将每个变量放入DateTime对象之前,分析字符串以确定日期,c#,xml,datetime,type-conversion,C#,Xml,Datetime,Type Conversion,我试图对API调用返回的XML进行反序列化,但在将字符串转换为DateTime时遇到InnerException。在将每个变量放入DateTime对象之前,分析字符串以确定日期 XML如下所示 <?xml version="1.0" encoding="utf-8" standalone="yes"?> <agentInventory xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:N1="demo.org

我试图对API调用返回的XML进行反序列化,但在将字符串转换为DateTime时遇到InnerException。在将每个变量放入DateTime对象之前,分析字符串以确定日期

XML如下所示

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<agentInventory xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:N1="demo.org.uk/demo/CustomsStatus" xmlns:N2="demo.org.uk/demo/UnLocation" xmlns:N3="demo.org.uk/demo/AirCarrier" xmlns="demo.org.uk/demo/AgentInventory">
  <shed>ADX</shed>
  <arrivalPort>
    <N2:iataPortCode>LHR</N2:iataPortCode>
      </arrivalPort>
  <masterAirwayBillPrefix>125</masterAirwayBillPrefix>
  <masterAirwayBillNumber>28121101</masterAirwayBillNumber>
  <nominatedAgent>DRB</nominatedAgent>
  <originPort>
   <N2:iataPortCode>BOS</N2:iataPortCode>
  </originPort>
  <destinationPort>
    <N2:iataPortCode>LHR</N2:iataPortCode>
  </destinationPort>
  <airCarrier>
    <N3:carrierCode>BA</N3:carrierCode>
  </airCarrier>
  <flightNumber>235</flightNumber>
  <flightDate>2012-02-09T00:00:00Z</flightDate>
  <npx>10</npx>
  <npr>0</npr>
 <grossWeight>123.0</grossWeight>
  <goodsDescription>BOOKS</goodsDescription>
  <sdc>T</sdc>
  <status1Set></status1Set>
  <status2Set>false</status2Set>
  <ccsCreationTime></ccsCreationTime>
  <customsSummaryText />
  <customsSummaryTime></customsSummaryTime>
  <agentReference />
  <isErtsPreArrival>false</isErtsPreArrival>
  <isAgentPreArrival>false</isAgentPreArrival>
  <isDeleted>false</isDeleted>
  <finalised></finalised>
  <createdOn>2012-01-24T11:50:40.86Z</createdOn>
  <modifiedOn>2012-02-09T09:51:26.617Z</modifiedOn>
  </agentInventory>
异常被抛出; myInventoryResponse= agentInventoryxmlSerializer.Deserializenew StringReaders StoreXmlInventoryXmlReturnData

我想我需要将myInventoryResponse.flightDate转换为DateTime对象,但我不知道如何实现这一点

namespace FreightSolutions {
using System;
using System.Diagnostics;
using System.Xml.Serialization;
using System.Collections;
using System.Xml.Schema;
using System.ComponentModel;
using System.Collections.Generic;


[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="asm.org.uk/Sequoia/AgentInventory")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="demo.org.uk/demo/AgentInventory", IsNullable=false)]
public partial class agentInventory {

    private string shedField;

    private unLocation arrivalPortField;

    private string masterAirwayBillPrefixField;

    private string masterAirwayBillNumberField;

    private string houseAirwayBillNumberField;

    private string splitReferenceNumberField;

    private string nominatedAgentField;

    private unLocation originPortField;

    private unLocation destinationPortField;

    private airCarrier airCarrierField;

    private string flightNumberField;

    private System.DateTime flightDateField;

    private bool flightDateFieldSpecified;

    private string npxField;

    private string nprField;

    private float grossWeightField;

    private bool grossWeightFieldSpecified;

    private string goodsDescriptionField;

    private string sdcField;

    private System.DateTime status1SetField;

    private bool status1SetFieldSpecified;

    private bool status2SetField;

    private bool status2SetFieldSpecified;

    private System.DateTime ccsCreationTimeField;

    private bool ccsCreationTimeFieldSpecified;

    private customsStatus customsStatusField;

    private string customsSummaryTextField;

    private System.DateTime customsSummaryTimeField;

    private bool customsSummaryTimeFieldSpecified;

    private string agentReferenceField;

    private bool isErtsPreArrivalField;

    private bool isErtsPreArrivalFieldSpecified;

    private bool isAgentPreArrivalField;

    private bool isAgentPreArrivalFieldSpecified;

    private bool isDeletedField;

    private bool isDeletedFieldSpecified;

    private System.DateTime finalisedField;

    private bool finalisedFieldSpecified;

    private System.DateTime createdOnField;

    private System.DateTime modifiedOnField;

    private bool modifiedOnFieldSpecified;

    public agentInventory() {
        this.customsStatusField = new customsStatus();
        this.airCarrierField = new airCarrier();
        this.destinationPortField = new unLocation();
        this.originPortField = new unLocation();
        this.arrivalPortField = new unLocation();
    }

    public string shed {
        get {
            return this.shedField;
        }
        set {
            this.shedField = value;
        }
    }

    public unLocation arrivalPort {
        get {
            return this.arrivalPortField;
        }
        set {
            this.arrivalPortField = value;
        }
    }

    public string masterAirwayBillPrefix {
        get {
            return this.masterAirwayBillPrefixField;
        }
        set {
            this.masterAirwayBillPrefixField = value;
        }
    }

    public string masterAirwayBillNumber {
        get {
            return this.masterAirwayBillNumberField;
        }
        set {
            this.masterAirwayBillNumberField = value;
        }
    }

    public string houseAirwayBillNumber {
        get {
            return this.houseAirwayBillNumberField;
        }
        set {
            this.houseAirwayBillNumberField = value;
        }
    }

    public string splitReferenceNumber {
        get {
            return this.splitReferenceNumberField;
        }
        set {
            this.splitReferenceNumberField = value;
        }
    }

    public string nominatedAgent {
        get {
            return this.nominatedAgentField;
        }
        set {
            this.nominatedAgentField = value;
        }
    }

    public unLocation originPort {
        get {
            return this.originPortField;
        }
        set {
            this.originPortField = value;
        }
    }

    public unLocation destinationPort {
        get {
            return this.destinationPortField;
        }
        set {
            this.destinationPortField = value;
        }
    }

    public airCarrier airCarrier {
        get {
            return this.airCarrierField;
        }
        set {
            this.airCarrierField = value;
        }
    }

    public string flightNumber {
        get {
            return this.flightNumberField;
        }
        set {
            this.flightNumberField = value;
        }
    }

    public System.DateTime flightDate {
        get {
            return this.flightDateField;
        }
        set {
            this.flightDateField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool flightDateSpecified {
        get {
            return this.flightDateFieldSpecified;
        }
        set {
            this.flightDateFieldSpecified = value;
        }
    }

    [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
    public string npx {
        get {
            return this.npxField;
        }
        set {
            this.npxField = value;
        }
    }

    [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
    public string npr {
        get {
            return this.nprField;
        }
        set {
            this.nprField = value;
        }
    }

    public float grossWeight {
        get {
            return this.grossWeightField;
        }
        set {
            this.grossWeightField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool grossWeightSpecified {
        get {
            return this.grossWeightFieldSpecified;
        }
        set {
            this.grossWeightFieldSpecified = value;
        }
    }

    public string goodsDescription {
        get {
            return this.goodsDescriptionField;
        }
        set {
            this.goodsDescriptionField = value;
        }
    }

    public string sdc {
        get {
            return this.sdcField;
        }
        set {
            this.sdcField = value;
        }
    }

    public System.DateTime status1Set {
        get {
            return this.status1SetField;
        }
        set {
            this.status1SetField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool status1SetSpecified {
        get {
            return this.status1SetFieldSpecified;
        }
        set {
            this.status1SetFieldSpecified = value;
        }
    }

    public bool status2Set {
        get {
            return this.status2SetField;
        }
        set {
            this.status2SetField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool status2SetSpecified {
        get {
            return this.status2SetFieldSpecified;
        }
        set {
            this.status2SetFieldSpecified = value;
        }
    }

    public System.DateTime ccsCreationTime {
        get {
            return this.ccsCreationTimeField;
        }
        set {
            this.ccsCreationTimeField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool ccsCreationTimeSpecified {
        get {
            return this.ccsCreationTimeFieldSpecified;
        }
        set {
            this.ccsCreationTimeFieldSpecified = value;
        }
    }

    public customsStatus customsStatus {
        get {
            return this.customsStatusField;
        }
        set {
            this.customsStatusField = value;
        }
    }

    public string customsSummaryText {
        get {
            return this.customsSummaryTextField;
        }
        set {
            this.customsSummaryTextField = value;
        }
    }

    public System.DateTime customsSummaryTime {
        get {
            return this.customsSummaryTimeField;
        }
        set {
            this.customsSummaryTimeField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool customsSummaryTimeSpecified {
        get {
            return this.customsSummaryTimeFieldSpecified;
        }
        set {
            this.customsSummaryTimeFieldSpecified = value;
        }
    }

    public string agentReference {
        get {
            return this.agentReferenceField;
        }
        set {
            this.agentReferenceField = value;
        }
    }

    public bool isErtsPreArrival {
        get {
            return this.isErtsPreArrivalField;
        }
        set {
            this.isErtsPreArrivalField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool isErtsPreArrivalSpecified {
        get {
            return this.isErtsPreArrivalFieldSpecified;
        }
        set {
            this.isErtsPreArrivalFieldSpecified = value;
        }
    }

    public bool isAgentPreArrival {
        get {
            return this.isAgentPreArrivalField;
        }
        set {
            this.isAgentPreArrivalField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool isAgentPreArrivalSpecified {
        get {
            return this.isAgentPreArrivalFieldSpecified;
        }
        set {
            this.isAgentPreArrivalFieldSpecified = value;
        }
    }

    public bool isDeleted {
        get {
            return this.isDeletedField;
        }
        set {
            this.isDeletedField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool isDeletedSpecified {
        get {
            return this.isDeletedFieldSpecified;
        }
        set {
            this.isDeletedFieldSpecified = value;
        }
    }

    public System.DateTime finalised {
        get {
            return this.finalisedField;
        }
        set {
            this.finalisedField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool finalisedSpecified {
        get {
            return this.finalisedFieldSpecified;
        }
        set {
            this.finalisedFieldSpecified = value;
        }
    }

    public System.DateTime createdOn {
        get {
            return this.createdOnField;
        }
        set {
            this.createdOnField = value;
        }
    }

    public System.DateTime modifiedOn {
        get {
            return this.modifiedOnField;
        }
        set {
            this.modifiedOnField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool modifiedOnSpecified {
        get {
            return this.modifiedOnFieldSpecified;
        }
        set {
            this.modifiedOnFieldSpecified = value;
        }
    }
}

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="demo.org.uk/demo/UnLocation")]
public partial class unLocation {

    private string itemField;

    private ItemChoiceType itemElementNameField;

    [System.Xml.Serialization.XmlElementAttribute("iataPortCode", typeof(string))]
    [System.Xml.Serialization.XmlElementAttribute("oceanPortCode", typeof(string))]
    [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
    public string Item {
        get {
            return this.itemField;
        }
        set {
            this.itemField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public ItemChoiceType ItemElementName {
        get {
            return this.itemElementNameField;
        }
        set {
            this.itemElementNameField = value;
        }
    }
}

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="demo.org.uk/demo/UnLocation", IncludeInSchema=false)]
public enum ItemChoiceType {

    /// <remarks/>
    iataPortCode,

    /// <remarks/>
    oceanPortCode,
}

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="demo.org.uk/demo/CustomsStatus")]
public partial class customsStatus {

    private string codeField;

    private string statusTextField;

    public string code {
        get {
            return this.codeField;
        }
        set {
            this.codeField = value;
        }
    }

    public string statusText {
        get {
            return this.statusTextField;
        }
        set {
            this.statusTextField = value;
        }
    }
}

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="demo.org.uk/demo/AirCarrier")]
public partial class airCarrier {

    private string carrierCodeField;

    public string carrierCode {
        get {
            return this.carrierCodeField;
        }
        set {
            this.carrierCodeField = value;
        }
    }
}

}

为了我自己的理智,我尝试让提供的XML与您的类和可为空的DateTime字段一起工作

要使其正常工作,请将下面的属性替换为下面链接的属性。 DateTime对象的默认值是DateTime.MinDate,因此,如果传入值为null或为空,则该属性的值无论如何都将为DateTime.MinDate,为此,如果代码需要满足此要求,则可能需要进行额外的验证/更改

区域XML可为空的帮助器属性 [XmlElementName=status1Set] 公共对象status1SetXml { 收到 { //在此处返回主属性本身,而不是字段,以确保如果对getter进行了更改, //生成的XML将始终具有正确的值 返回状态1集; } 设置 { //传入的值是XmlNode[]类型,因此转换并获取XmlNode文本,它应该是我们想要的日期时间 //!!假设!!它将始终是XmlNode[1]类型 XmlNode[]inputValue=作为XmlNode[]的值; 如果inputValue!=null { DateTime.TryParseConvert.ToStringinputValue[0]。InnerText,out status1SetField; } } } [XmlElementName=ccsCreationTime] 公共对象ccsCreationTimeXml { 收到 { //在此处返回主属性本身,而不是字段,以确保如果对getter进行了更改, //生成的XML将始终具有正确的值 返回ccsCreationTime; } 设置 { //传入的值是XmlNode[]类型,因此转换并获取XmlNode文本,它应该是我们想要的日期时间 //!!假设!!它将始终是XmlNode[1]类型 XmlNode[]inputValue=作为XmlNode[]的值; 如果inputValue!=null { DateTime.TryParseConvert.ToStringinputValue[0]。InnerText,out ccsCreationTimeField; } } } [XmlElementName=CustomsSamaryTime] 公共对象CustomsSamaryTimeXML { 收到 { //在此处返回主属性本身,而不是字段,以确保如果对getter进行了更改, //生成的XML将始终具有正确的值 返回customsSummaryTime; } 设置 { //传入的值是XmlNode[]类型,因此转换并获取XmlNode文本,它应该是我们想要的日期时间 //!!假设!!它将始终是XmlNode[1]类型 XmlNode[]inputValue=作为XmlNode[]的值; 如果inputValue!=null { DateTime.TryParseConvert.ToString输入值[0]。InnerText,out CustomsSamaryTimeField; } } } [XmlElementName=最终确定] 公共对象最终确定的XML { 收到 { //在此处返回主属性本身,而不是字段,以确保如果对getter进行了更改, //生成的XML将始终具有正确的值 返回最终确定; } 设置 { //传入的值是XmlNode[]类型,因此转换并获取XmlNode文本,它应该是我们想要的日期时间 //!!假设!!它将始终是XmlNode[1]类型 XmlNode[]inputValue=作为XmlNode[]的值; 如果inputValue!=null { DateTime.TryParseConvert.ToStringinputValue[0]。InnerText,out Finalized字段; } } } 端区 区域非XML属性 [XmlIgnore] 公共System.DateTime状态1集 { 获取{返回this.status1SetField;} 设置{this.status1SetField=value;} } [XmlIgnore] public System.DateTime ccsCreationTime { 获取{返回this.ccsCreationTimeField;} 设置{this.ccsCreationTimeField=value;} } [XmlIgnore] public System.DateTime CustomsSamaryTime { 获取{返回this.customsSamaryTimeField;} 设置{this.customsSamaryTimeField=value;} } [XmlIgnore] 公共系统。日期时间最终确定 { 获取{返回this.finalizedField;} 设置{this.finaliedfield=value;} } 端区
agentInventory是否具有自定义序列化逻辑?这是一条非常奇怪的错误消息。您确定错误是因为flightDate的值,而不是其他名称中引用了DateTime但没有值的属性吗?例如,ccsCreationTime或CustomsMMaryTime。你能显示代理库存的定义吗?空白值是Expe。
CTE,因为它们可能并不总是由API填充。我已经添加了agentInventory,如果这有助于使用提供的代码,我会在尝试解析我前面提到的字段时出错,但如果出现错误,字符串不是有效的AllXsd值。您需要在类中允许这些值为null,这可能是导致错误的根本原因
namespace FreightSolutions {
using System;
using System.Diagnostics;
using System.Xml.Serialization;
using System.Collections;
using System.Xml.Schema;
using System.ComponentModel;
using System.Collections.Generic;


[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="asm.org.uk/Sequoia/AgentInventory")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="demo.org.uk/demo/AgentInventory", IsNullable=false)]
public partial class agentInventory {

    private string shedField;

    private unLocation arrivalPortField;

    private string masterAirwayBillPrefixField;

    private string masterAirwayBillNumberField;

    private string houseAirwayBillNumberField;

    private string splitReferenceNumberField;

    private string nominatedAgentField;

    private unLocation originPortField;

    private unLocation destinationPortField;

    private airCarrier airCarrierField;

    private string flightNumberField;

    private System.DateTime flightDateField;

    private bool flightDateFieldSpecified;

    private string npxField;

    private string nprField;

    private float grossWeightField;

    private bool grossWeightFieldSpecified;

    private string goodsDescriptionField;

    private string sdcField;

    private System.DateTime status1SetField;

    private bool status1SetFieldSpecified;

    private bool status2SetField;

    private bool status2SetFieldSpecified;

    private System.DateTime ccsCreationTimeField;

    private bool ccsCreationTimeFieldSpecified;

    private customsStatus customsStatusField;

    private string customsSummaryTextField;

    private System.DateTime customsSummaryTimeField;

    private bool customsSummaryTimeFieldSpecified;

    private string agentReferenceField;

    private bool isErtsPreArrivalField;

    private bool isErtsPreArrivalFieldSpecified;

    private bool isAgentPreArrivalField;

    private bool isAgentPreArrivalFieldSpecified;

    private bool isDeletedField;

    private bool isDeletedFieldSpecified;

    private System.DateTime finalisedField;

    private bool finalisedFieldSpecified;

    private System.DateTime createdOnField;

    private System.DateTime modifiedOnField;

    private bool modifiedOnFieldSpecified;

    public agentInventory() {
        this.customsStatusField = new customsStatus();
        this.airCarrierField = new airCarrier();
        this.destinationPortField = new unLocation();
        this.originPortField = new unLocation();
        this.arrivalPortField = new unLocation();
    }

    public string shed {
        get {
            return this.shedField;
        }
        set {
            this.shedField = value;
        }
    }

    public unLocation arrivalPort {
        get {
            return this.arrivalPortField;
        }
        set {
            this.arrivalPortField = value;
        }
    }

    public string masterAirwayBillPrefix {
        get {
            return this.masterAirwayBillPrefixField;
        }
        set {
            this.masterAirwayBillPrefixField = value;
        }
    }

    public string masterAirwayBillNumber {
        get {
            return this.masterAirwayBillNumberField;
        }
        set {
            this.masterAirwayBillNumberField = value;
        }
    }

    public string houseAirwayBillNumber {
        get {
            return this.houseAirwayBillNumberField;
        }
        set {
            this.houseAirwayBillNumberField = value;
        }
    }

    public string splitReferenceNumber {
        get {
            return this.splitReferenceNumberField;
        }
        set {
            this.splitReferenceNumberField = value;
        }
    }

    public string nominatedAgent {
        get {
            return this.nominatedAgentField;
        }
        set {
            this.nominatedAgentField = value;
        }
    }

    public unLocation originPort {
        get {
            return this.originPortField;
        }
        set {
            this.originPortField = value;
        }
    }

    public unLocation destinationPort {
        get {
            return this.destinationPortField;
        }
        set {
            this.destinationPortField = value;
        }
    }

    public airCarrier airCarrier {
        get {
            return this.airCarrierField;
        }
        set {
            this.airCarrierField = value;
        }
    }

    public string flightNumber {
        get {
            return this.flightNumberField;
        }
        set {
            this.flightNumberField = value;
        }
    }

    public System.DateTime flightDate {
        get {
            return this.flightDateField;
        }
        set {
            this.flightDateField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool flightDateSpecified {
        get {
            return this.flightDateFieldSpecified;
        }
        set {
            this.flightDateFieldSpecified = value;
        }
    }

    [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
    public string npx {
        get {
            return this.npxField;
        }
        set {
            this.npxField = value;
        }
    }

    [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
    public string npr {
        get {
            return this.nprField;
        }
        set {
            this.nprField = value;
        }
    }

    public float grossWeight {
        get {
            return this.grossWeightField;
        }
        set {
            this.grossWeightField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool grossWeightSpecified {
        get {
            return this.grossWeightFieldSpecified;
        }
        set {
            this.grossWeightFieldSpecified = value;
        }
    }

    public string goodsDescription {
        get {
            return this.goodsDescriptionField;
        }
        set {
            this.goodsDescriptionField = value;
        }
    }

    public string sdc {
        get {
            return this.sdcField;
        }
        set {
            this.sdcField = value;
        }
    }

    public System.DateTime status1Set {
        get {
            return this.status1SetField;
        }
        set {
            this.status1SetField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool status1SetSpecified {
        get {
            return this.status1SetFieldSpecified;
        }
        set {
            this.status1SetFieldSpecified = value;
        }
    }

    public bool status2Set {
        get {
            return this.status2SetField;
        }
        set {
            this.status2SetField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool status2SetSpecified {
        get {
            return this.status2SetFieldSpecified;
        }
        set {
            this.status2SetFieldSpecified = value;
        }
    }

    public System.DateTime ccsCreationTime {
        get {
            return this.ccsCreationTimeField;
        }
        set {
            this.ccsCreationTimeField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool ccsCreationTimeSpecified {
        get {
            return this.ccsCreationTimeFieldSpecified;
        }
        set {
            this.ccsCreationTimeFieldSpecified = value;
        }
    }

    public customsStatus customsStatus {
        get {
            return this.customsStatusField;
        }
        set {
            this.customsStatusField = value;
        }
    }

    public string customsSummaryText {
        get {
            return this.customsSummaryTextField;
        }
        set {
            this.customsSummaryTextField = value;
        }
    }

    public System.DateTime customsSummaryTime {
        get {
            return this.customsSummaryTimeField;
        }
        set {
            this.customsSummaryTimeField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool customsSummaryTimeSpecified {
        get {
            return this.customsSummaryTimeFieldSpecified;
        }
        set {
            this.customsSummaryTimeFieldSpecified = value;
        }
    }

    public string agentReference {
        get {
            return this.agentReferenceField;
        }
        set {
            this.agentReferenceField = value;
        }
    }

    public bool isErtsPreArrival {
        get {
            return this.isErtsPreArrivalField;
        }
        set {
            this.isErtsPreArrivalField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool isErtsPreArrivalSpecified {
        get {
            return this.isErtsPreArrivalFieldSpecified;
        }
        set {
            this.isErtsPreArrivalFieldSpecified = value;
        }
    }

    public bool isAgentPreArrival {
        get {
            return this.isAgentPreArrivalField;
        }
        set {
            this.isAgentPreArrivalField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool isAgentPreArrivalSpecified {
        get {
            return this.isAgentPreArrivalFieldSpecified;
        }
        set {
            this.isAgentPreArrivalFieldSpecified = value;
        }
    }

    public bool isDeleted {
        get {
            return this.isDeletedField;
        }
        set {
            this.isDeletedField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool isDeletedSpecified {
        get {
            return this.isDeletedFieldSpecified;
        }
        set {
            this.isDeletedFieldSpecified = value;
        }
    }

    public System.DateTime finalised {
        get {
            return this.finalisedField;
        }
        set {
            this.finalisedField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool finalisedSpecified {
        get {
            return this.finalisedFieldSpecified;
        }
        set {
            this.finalisedFieldSpecified = value;
        }
    }

    public System.DateTime createdOn {
        get {
            return this.createdOnField;
        }
        set {
            this.createdOnField = value;
        }
    }

    public System.DateTime modifiedOn {
        get {
            return this.modifiedOnField;
        }
        set {
            this.modifiedOnField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool modifiedOnSpecified {
        get {
            return this.modifiedOnFieldSpecified;
        }
        set {
            this.modifiedOnFieldSpecified = value;
        }
    }
}

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="demo.org.uk/demo/UnLocation")]
public partial class unLocation {

    private string itemField;

    private ItemChoiceType itemElementNameField;

    [System.Xml.Serialization.XmlElementAttribute("iataPortCode", typeof(string))]
    [System.Xml.Serialization.XmlElementAttribute("oceanPortCode", typeof(string))]
    [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
    public string Item {
        get {
            return this.itemField;
        }
        set {
            this.itemField = value;
        }
    }

    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public ItemChoiceType ItemElementName {
        get {
            return this.itemElementNameField;
        }
        set {
            this.itemElementNameField = value;
        }
    }
}

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="demo.org.uk/demo/UnLocation", IncludeInSchema=false)]
public enum ItemChoiceType {

    /// <remarks/>
    iataPortCode,

    /// <remarks/>
    oceanPortCode,
}

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="demo.org.uk/demo/CustomsStatus")]
public partial class customsStatus {

    private string codeField;

    private string statusTextField;

    public string code {
        get {
            return this.codeField;
        }
        set {
            this.codeField = value;
        }
    }

    public string statusText {
        get {
            return this.statusTextField;
        }
        set {
            this.statusTextField = value;
        }
    }
}

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="demo.org.uk/demo/AirCarrier")]
public partial class airCarrier {

    private string carrierCodeField;

    public string carrierCode {
        get {
            return this.carrierCodeField;
        }
        set {
            this.carrierCodeField = value;
        }
    }
}