Quantcast
Channel: Microsoft Dynamics AX Forum - Recent Threads
Viewing all articles
Browse latest Browse all 72043

AIF XML Processing

$
0
0

I am having issues while trying to upload data using document service. The issue I am having is with Derived tables whose fields are not recognized during import process and errors out.

XSD Schema

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="schemas.microsoft.com/.../TrvPBSMaindata" xmlns:st="schemas.microsoft.com/.../sharedtypes" elementFormDefault="unqualified" targetNamespace="schemas.microsoft.com/.../TrvPBSMaindata" xmlns:xs="www.w3.org/.../XMLSchema">
  <xs:element name="TrvPBSMaindata" type="tns:AxdTrvPBSMaindata" />
  <xs:complexType name="AxdTrvPBSMaindata">
    <xs:sequence>
      <xs:element minOccurs="0" name="ClearNilFieldsOnUpdate" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DocPurpose" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SenderId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TrvPBSMaindata" type="tns:AxdEntity_TrvPBSMaindata" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AxdEntity_TrvPBSMaindata">
    <xs:sequence>
      <xs:element minOccurs="0" name="_DocumentHash" nillable="true" type="xs:string" />
      <xs:element minOccurs="1" name="AmountCurr" type="xs:decimal" />
      <xs:element minOccurs="0" name="AmountLocal" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="BusinessName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CardNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CardNumberNIKS" nillable="true" type="xs:string" />
      <xs:element minOccurs="1" name="CardType" type="xs:string" />
      <xs:element minOccurs="0" name="CatCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CatCodesDesc" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CCTransUniqueId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Country" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DisputeStatus" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DisputeTrackingNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="1" name="ExchCode" type="xs:string" />
      <xs:element minOccurs="0" name="ExchCodeLocal" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MerchantCategoryCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Paymethod" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Reference" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Town" nillable="true" type="xs:string" />
      <xs:element minOccurs="1" name="TransDate" type="xs:date" />
      <xs:element minOccurs="0" name="UserField1" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserField2" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserField3" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserField4" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserField5" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserField6" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserField7" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserField8" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserField9" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserFieldLong" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TrvEnhancedData" type="tns:AxdEntity_TrvEnhancedData_TrvEnhancedData" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TrvEnhancedTaxInfo" type="tns:AxdEntity_TrvEnhancedTaxInfo" />
    </xs:sequence>
    <xs:attribute fixed="entity" name="class" use="required" />
    <xs:attribute name="action" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="AxdEntity_TrvEnhancedData_TrvEnhancedData">
    <xs:sequence>
      <xs:element minOccurs="0" name="InstanceRelationType" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="PBSRecid" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="RecId" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="RecVersion" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="TransactionRecord" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="UserDefinedField1" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField10" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField2" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField3" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField4" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField5" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField6" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField7" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField8" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField9" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute fixed="entity" name="class" use="required" />
    <xs:attribute name="action" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="AxdEntity_TrvEnhancedData_TrvEnhancedHotelData">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AxdEntity_TrvEnhancedData_TrvEnhancedData">
        <xs:sequence>
          <xs:element minOccurs="1" name="CheckInDate" nillable="false" type="xs:date" />
          <xs:element minOccurs="0" name="CheckOutDate" nillable="true" type="xs:date" />
          <xs:element minOccurs="0" name="FolioNumber" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="GuestName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="GuestNumber" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="NoShowIndicator" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="TotalRoomNights" nillable="true" type="xs:integer" />
          <xs:element minOccurs="0" name="TotalRoomRent" nillable="true" type="xs:decimal" />
          <xs:element minOccurs="0" name="TotalTaxAmount" nillable="true" type="xs:double" />
          <xs:element minOccurs="0" maxOccurs="unbounded" name="TrvHotelCharge" type="tns:AxdEntity_TrvHotelCharge" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AxdEntity_TrvHotelCharge">
    <xs:sequence>
      <xs:element minOccurs="0" name="ChargeAmount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="1" name="ChargeType" type="xs:integer" />
    </xs:sequence>
    <xs:attribute fixed="entity" name="class" use="required" />
    <xs:attribute name="action" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="AxdEntity_TrvEnhancedData_TrvEnhancedItineraryData">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AxdEntity_TrvEnhancedData_TrvEnhancedData">
        <xs:sequence>
          <xs:element minOccurs="0" name="DepartureDate" nillable="true" type="xs:date" />
          <xs:element minOccurs="0" name="DomesticIndicator" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ExchangeTicketNumber" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="IssuingCarrier" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="NumberOfLegs" nillable="true" type="xs:integer" />
          <xs:element minOccurs="0" name="OriginalTicketNumber" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="PassengerName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="TicketIssueDate" nillable="true" type="xs:date" />
          <xs:element minOccurs="0" name="TravelAgencyCode" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="TravelAgencyInvoiceNumber" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="TravelAgencyName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" maxOccurs="unbounded" name="TrvEnhancedTripLegDetail" type="tns:AxdEntity_TrvEnhancedTripLegDetail" />
          <xs:element minOccurs="0" maxOccurs="unbounded" name="TrvItineraryCharge" type="tns:AxdEntity_TrvItineraryCharge" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AxdEntity_TrvEnhancedTripLegDetail">
    <xs:sequence>
      <xs:element minOccurs="0" name="ArrivalDate" nillable="true" type="xs:date" />
      <xs:element minOccurs="0" name="CarrierCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CityOfOrigin" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DepartureTax" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DestinationCity" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FareAmount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="FeeAmount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="FlightNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ServiceClass" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="StopOverCity" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TaxAmount" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TravelDate" nillable="true" type="xs:date" />
      <xs:element minOccurs="0" name="TripLegNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField1" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField10" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField2" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField3" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField4" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField5" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField6" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField7" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField8" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField9" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute fixed="entity" name="class" use="required" />
    <xs:attribute name="action" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="AxdEntity_TrvItineraryCharge">
    <xs:sequence>
      <xs:element minOccurs="0" name="ChargeAmount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="ChargeType" nillable="true" type="xs:integer" />
    </xs:sequence>
    <xs:attribute fixed="entity" name="class" use="required" />
    <xs:attribute name="action" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="AxdEntity_TrvEnhancedData_TrvEnhancedCarRentalData">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AxdEntity_TrvEnhancedData_TrvEnhancedData">
        <xs:sequence>
          <xs:element minOccurs="0" name="CarRentalCheckOutDate" nillable="true" type="xs:date" />
          <xs:element minOccurs="0" name="CheckOutLocation" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="DailyRentalRate" nillable="true" type="xs:decimal" />
          <xs:element minOccurs="0" name="DaysRented" nillable="true" type="xs:integer" />
          <xs:element minOccurs="0" name="MonthlyRentalRate" nillable="true" type="xs:decimal" />
          <xs:element minOccurs="0" name="RegularMileageCharges" nillable="true" type="xs:decimal" />
          <xs:element minOccurs="0" name="RenterName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ReservationNumber" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ReturnDate" nillable="true" type="xs:date" />
          <xs:element minOccurs="0" name="ReturnLocation" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="TotalMiles" nillable="true" type="xs:double" />
          <xs:element minOccurs="0" name="VehicleClass" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="WeeklyRentalRate" nillable="true" type="xs:decimal" />
          <xs:element minOccurs="0" maxOccurs="unbounded" name="TrvCarRentalCharge" type="tns:AxdEntity_TrvCarRentalCharge" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AxdEntity_TrvCarRentalCharge">
    <xs:sequence>
      <xs:element minOccurs="0" name="ChargeAmount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="ChargeType" nillable="true" type="xs:integer" />
    </xs:sequence>
    <xs:attribute fixed="entity" name="class" use="required" />
    <xs:attribute name="action" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="AxdEntity_TrvEnhancedTaxInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="CustomerVATNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsGSTHSTIncludedInAmount" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsSalesTaxIncludedInAmount" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ItemSalesTaxGroup" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SalesTaxGroup" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SupplierVATNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TotalSalesTaxAmount" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="UserDefinedField1" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField2" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField3" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField4" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserDefinedField5" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TrvTaxCharge" type="tns:AxdEntity_TrvTaxCharge" />
    </xs:sequence>
    <xs:attribute fixed="entity" name="class" use="required" />
    <xs:attribute name="action" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="AxdEntity_TrvTaxCharge">
    <xs:sequence>
      <xs:element minOccurs="1" name="TaxAmount" type="xs:double" />
      <xs:element minOccurs="1" name="TaxType" type="xs:integer" />
    </xs:sequence>
    <xs:attribute fixed="entity" name="class" use="required" />
    <xs:attribute name="action" type="xs:string" />
  </xs:complexType> 
</xs:schema>

XML Upload
<?xml version="1.0" encoding="utf-8" ?>
<Envelope xmlns="schemas.microsoft.com/.../Message">
<Header>
<MessageId>{9F041A14-EE49-4D98-ADE9-F5B2AB212490}</MessageId>
<Action>schemas.microsoft.com/.../create&lt;/Action>
</Header>
<Body>
<MessageParts>
<TrvPBSMaindata xmlns="schemas.microsoft.com/.../TrvPBSMaindata">
<TrvPBSMaindata class="entity">
<AmountCurr>133.00</AmountCurr>
<AmountLocal>133.00</AmountLocal>
<BusinessName>Mazik Global</BusinessName>
<CardNumber>1111111111111111</CardNumber>
<CardNumberNIKS>0000000000000000</CardNumberNIKS>
<CardType>AMEX</CardType>
<CatCode>02</CatCode>
<CatCodesDesc>Flights</CatCodesDesc>
<Country>USA</Country>
<ExchCode>USD</ExchCode>
<ExchCodeLocal>USD</ExchCodeLocal>
<MerchantCategoryCode>d3f</MerchantCategoryCode>
<Name>Sara Thomas</Name>
<Paymethod>CreditCard</Paymethod>
<Reference>185220</Reference>
<Town>Des Plains</Town>
<TransDate>2015-11-28</TransDate>
<TrvEnhancedData class="entity">
<CheckInDate>2015-10-28</CheckInDate>
</TrvEnhancedData>
</TrvPBSMaindata>
</TrvPBSMaindata>
</MessageParts>
</Body>
</Envelope>

Error

Invalid document schema. The following error was returned:  The element 'TrvEnhancedData' in namespace 'schemas.microsoft.com/.../TrvPBSMaindata' has invalid child element 'CheckInDate'in namespace 'schemas.microsoft.com/.../TrvPBSMaindata'. List of possible elements expected: 'InstanceRelationType, PBSRecid, RecId, RecVersion, TransactionRecord, UserDefinedField1, UserDefinedField10, UserDefinedField2, UserDefinedField3, UserDefinedField4, UserDefinedField5, UserDefinedField6, UserDefinedField7, UserDefinedField8, UserDefinedField9' in namespace 'schemas.microsoft.com/.../TrvPBSMaindata'.

Note: CheckInDate is a field of TrvEnhancedHotelData table which is derived from TrvEnhanceTable.


Viewing all articles
Browse latest Browse all 72043

Trending Articles