1

我对 MS AX 技术完全陌生,最近被分配支持基于 .net 技术开发的 AX 连接器。

简单介绍一下 AX 连接器: 1. 该连接器是 AX 工具和 JB(jitterbit) 工作室之间的中介。
2. 每当从JB studio 发出请求(如创建/读取/更新记录)时,AX 连接器接受此请求并与AX 工具通信并执行所需的操作并将相应的响应返回给JB studio。

所以,现在谈到这个问题,JB studio 发出了一个创建记录请求,这个特定的请求被转换为 XML 格式并由 AX 连接器(中介)接收,当连接器将此请求移交给 AX 工具时,出现以下错误:

'Testing1' 不是 AxdEnum_XMLDocPurpose 的有效值”

预期:
如果请求成功执行/完成,将在 MS AX 2012 > CustTable 中创建 1 条记录。

实际:
相对于其他领域出现上述错误或类似错误。

我的 XML 创建记录请求如下:

<?xml version="1.0" encoding="UTF-8"?>    
<Request>
<body>
<executeoperation>
<operation>
<wsdlendpoint>DEMO:8101/.../wsdlendpoint>
<servicename>CustomerServiceClient</servicename>
<name>create</name>
<Parameters xmlns:xsi="">www.w3.org/.../XMLSchema-instance" 
 xmlns:ns3="">schemas.microsoft.com/.../sharedtypes" xmlns:ns2="">schemas.microsoft.com/.../Customer" 
 xmlns:ns1="">schemas.microsoft.com/.../Arrays" xmlns:ns="">schemas.microsoft.com/.../datacontracts">
<CallContext>
<ns:Company>Microsoft</ns:Company>
<ns:Language>Hindi</ns:Language>
<ns:LogonAsUser xsi:nil="true"/>
<ns:MessageId xsi:nil="true"/>
<ns:PartitionKey xsi:nil="true"/>
<ns:PropertyBag xsi:nil="true"/>
</CallContext>

<Customer>
<ns2:SenderId xsi:nil="true"/>
<ns2:ValidToDateTime timezone="GMTPLUS0530CHENNAI_KOLKATA_MUMBAI" 
 xsi:type="ns3:AxdExtType_CreatedDateTime"/>
<ns2:CustTable>
<ns2:_DocumentHash xsi:nil="true"/>
<ns2:AccountNum>SH_11285</ns2:AccountNum>
<ns2:AgencyLocationCode xsi:nil="true"/>
<ns2:BankAccount xsi:nil="true"/>
<ns2:BankCentralBankPurposeCode xsi:nil="true"/>
<ns2:BankCentralBankPurposeText xsi:nil="true"/>
<ns2:BankCustPaymIdTable xsi:nil="true"/>
<ns2:BirthCountyCode_IT xsi:nil="true"/>
<ns2:BirthDate_IT>1985-01-12</ns2:BirthDate_IT>
<ns2:BirthPlace_IT>India</ns2:BirthPlace_IT>
<ns2:CashDisc xsi:nil="true"/>
<ns2:CCMNum_BR xsi:nil="true"/>
<ns2:ClearingPeriod xsi:nil="true"/>
<ns2:CNAE_BR xsi:nil="true"/>
<ns2:CNPJCPFNum_BR xsi:nil="true"/>
<ns2:CommercialRegister xsi:nil="true"/>
<ns2:CommercialRegisterInsetNumber xsi:nil="true"/>
<ns2:CommercialRegisterSection xsi:nil="true"/>
<ns2:CommissionGroup xsi:nil="true"/>
<ns2:CompanyChainId xsi:nil="true"/>
<ns2:CompanyIdSiret xsi:nil="true"/>
<ns2:CompanyNAFCode xsi:nil="true"/>
<ns2:ContactPersonId>test@test.com</ns2:ContactPersonId>
<ns2:CreditRating xsi:nil="true"/>
<ns2:Curp_MX xsi:nil="true"/>
<ns2:Currency>USD</ns2:Currency>
<ns2:CustClassificationId xsi:nil="true"/>
<ns2:CustGroup>10</ns2:CustGroup>
<ns2:CustItemGroupId xsi:nil="true"/>
<ns2:CustTradingPartnerCode xsi:nil="true"/>
<ns2:DAXIntegrationId xsi:nil="true"/>
<ns2:DefaultDimension>
<ns3:Values>
<ns3:Value>
<ns3:Name>Rakesh1</ns3:Name>
</ns3:Value>
</ns3:Values>
</ns2:DefaultDimension>
<ns2:DefaultDirectDebitMandate xsi:nil="true"/>
<ns2:DefaultInventStatusId xsi:nil="true"/>
<ns2:DestinationCodeId xsi:nil="true"/>
<ns2:DlvMode xsi:nil="true"/>
<ns2:DlvReason xsi:nil="true"/>
<ns2:DlvTerm xsi:nil="true"/>
<ns2:EinvoiceEANNum xsi:nil="true"/>
<ns2:EndDisc xsi:nil="true"/>
<ns2:EnterpriseCode xsi:nil="true"/>
<ns2:EnterpriseNumber xsi:nil="true"/>
<ns2:FactoringAccount xsi:nil="true"/>
<ns2:FederalComments xsi:nil="true"/>
<ns2:FineCode_BR xsi:nil="true"/>
<ns2:FiscalCode xsi:nil="true"/>
<ns2:FreightZone xsi:nil="true"/>
<ns2:IdentificationNumber xsi:nil="true"/>
<ns2:IENum_BR xsi:nil="true"/>
<ns2:INSSCEI_BR xsi:nil="true"/>
<ns2:IntBank_LV xsi:nil="true"/>
<ns2:InterestCode_BR xsi:nil="true"/>
<ns2:InventLocation xsi:nil="true"/>
<ns2:InventProfileId_RU xsi:nil="true"/>
<ns2:InventSiteId xsi:nil="true"/>
<ns2:InvoiceAccount xsi:nil="true"/>
<ns2:IssuerCountry_HU xsi:nil="true"/>
<ns2:LineDisc xsi:nil="true"/>
<ns2:LineOfBusinessId xsi:nil="true"/>
<ns2:LvPaymTransCodes xsi:nil="true"/>
<ns2:MainContactPersonnelNumber xsi:nil="true"/>
<ns2:MainContactWorker xsi:nil="true"/>
<ns2:MarkupGroup xsi:nil="true"/>
<ns2:MCRMergedParent xsi:nil="true"/>
<ns2:MCRMergedRoot xsi:nil="true"/>
<ns2:Memo xsi:nil="true"/>
<ns2:MultiLineDisc xsi:nil="true"/>
<ns2:Name>Shalini1</ns2:Name>
<ns2:NIT_BR xsi:nil="true"/>
<ns2:numberSequenceGroup xsi:nil="true"/>
<ns2:OrderEntryDeadlineGroupId xsi:nil="true"/>
<ns2:OrgId>457848</ns2:OrgId>
<ns2:OurAccountNum xsi:nil="true"/>
<ns2:PackMaterialFeeLicenseNum xsi:nil="true"/>
<ns2:Party>Connector</ns2:Party>
<ns2:PartyCountry xsi:nil="true"/>
<ns2:PartyState xsi:nil="true"/>
<ns2:PassportNo_HU xsi:nil="true"/>
<ns2:PaymDayId xsi:nil="true"/>
<ns2:PaymentReference_EE xsi:nil="true"/>
<ns2:PaymMode>Credit</ns2:PaymMode>
<ns2:PaymSched xsi:nil="true"/>
<ns2:PaymSpec xsi:nil="true"/>
<ns2:PaymTermId xsi:nil="true"/>
<ns2:PBACustGroupId xsi:nil="true"/>
<ns2:PdsCustRebateGroupId xsi:nil="true"/>
<ns2:PdsRebateTMAGroup xsi:nil="true"/>
<ns2:PriceGroup xsi:nil="true"/>
<ns2:RegNum_W xsi:nil="true"/>
<ns2:ResidenceForeignCountryRegionId_IT xsi:nil="true"/>
<ns2:Rfc_MX xsi:nil="true"/>
<ns2:SalesCalendarId xsi:nil="true"/>
<ns2:SalesDistrictId xsi:nil="true"/>
<ns2:SalesGroup xsi:nil="true"/>
<ns2:SalesPoolId xsi:nil="true"/>
<ns2:SegmentId xsi:nil="true"/>
<ns2:ShipCarrierAccount xsi:nil="true"/>
<ns2:ShipCarrierAccountCode xsi:nil="true"/>
<ns2:ShipCarrierId xsi:nil="true"/>
<ns2:StateInscription_MX xsi:nil="true"/>
<ns2:StatisticsGroup xsi:nil="true"/>
<ns2:SubsegmentId xsi:nil="true"/>
<ns2:SuframaNumber_BR xsi:nil="true"/>
<ns2:SuppItemGroupId xsi:nil="true"/>
<ns2:SyncEntityId xsi:nil="true"/>
<ns2:TaxBorderNumber_FI xsi:nil="true"/>
<ns2:TaxGroup xsi:nil="true"/>
<ns2:TaxLicenseNum xsi:nil="true"/>
<ns2:TaxPeriodPaymentCode_PL xsi:nil="true"/>
<ns2:TaxWithholdGroup_TH xsi:nil="true"/>
<ns2:VATNum xsi:nil="true"/>
<ns2:VendAccount xsi:nil="true"/>
</ns2:CustTable>
</Customer>
</Parameters>
</operation>
</executeoperation>
</body>

<authInfo>
<domain>##JB####</domain>
<username>AX2012#######</username>
<password>##########</password>
</authInfo>
<timeoutValue>300</timeoutValue>
</Request>

以上请求在我的 AX 连接器中收到并发送到 MS AX 工具。在上述请求中,有一些必填字段,如 AccountNum、姓名等。如果我只使用必填字段值执行创建操作,一切正常。如果我为 Company、BirthDate_IT、Party 等非强制性字段提供值,则填写的值会低于错误。

实例验证错误:“Testing1”不是 AxdEnum_XMLDocPurpose 的有效值

请帮我谈谈你的想法。另外请让我知道先决条件、文章以了解 AX 表、它们的模式和这些表字段的有效值。

等待您的帮助和建议。

提前致谢。

问候,
Rakesh k

4

1 回答 1

3

错误是直截了当的......你在某处传递了错误的数据......无论在哪里使用“Testing1”。

Testing1对 AX 枚举无效XMLDocPurpose

如果您查看 AX 中的 AOT 并发现XMLDocPurpose位于\Data Dictionary\Base Enums\XMLDocPurpose您将看到的枚举Testing1无效...除非您已自定义XMLDocPurpose和添加Testing1,我对此高度怀疑。

在此处输入图像描述

于 2020-01-29T16:11:26.803 回答