2

我正在IBM Infosphere MDM中做POC,具体来说是物理 MDM。

我将完成我所做的步骤。

  1. 在不做任何扩展或添加的情况下,我addOrganization使用 ibm 软件提供的默认模型运行该服务。组织详细信息已添加到 MDM 中,没有任何错误。为了简单起见,我只在TCRMOrganizationBObjTCRMOrganizationNameBObj中保留(它是唯一的强制对象)。到目前为止一切正常。

  2. 我添加了一个扩展。XOrganization,具有 2 个属性。我们准备的属性之一是不可为空的(CustomerHierarchyCode).新服务,如下所示。addOrganization

添加组织

<?xml version="1.0" encoding="UTF-8"?>
<!--DOCTYPE TCRMService SYSTEM "myTCRM.dtd"-->
<TCRMService xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="myTCRM.xsd">
    <RequestControl>
        <requestID>22456</requestID>
        <DWLControl>
            <requesterName>cusadmin</requesterName>
            <requesterLanguage>100</requesterLanguage>
        </DWLControl>
    </RequestControl>
   <TCRMTx>
        <TCRMTxType>addOrganization</TCRMTxType>
        <TCRMTxObject>TCRMOrganizationBObj</TCRMTxObject>
        <TCRMObject>
            <TCRMOrganizationBObj>
                <PartyId/>
                <NewPartyIdReference>333994</NewPartyIdReference>
                <DisplayName>MSI</DisplayName>
                <PreferredLanguageType>100</PreferredLanguageType>
                <ComputerAccessType>1</ComputerAccessType>
                <PartyType>O</PartyType>
                <AlertIndicator>Y</AlertIndicator>
                <SolicitationIndicator>N</SolicitationIndicator>
                <ConfidentialIndicator>N</ConfidentialIndicator>
                <ClientPotentialType>2</ClientPotentialType>
                <ClientImportanceType>4</ClientImportanceType>
                <MandatorySearchDone>Y</MandatorySearchDone>
                <BuySellAgreementType>2</BuySellAgreementType>
                <ProfitIndicator>Y</ProfitIndicator>
                <OrganizationType>1</OrganizationType>
                <EstablishedDate>2006-01-11</EstablishedDate>
                <IndustryType>9</IndustryType>
                <OrganizationLastUpdateDate/>
                <OrganizationLastUpdateUser/>                  
                <TCRMExtension>
                    <ExtendedObject>XOrganizationBObjExt</ExtendedObject>
                        <XOrganizationBObjExt>
                            <PrivateCompanyCustomerInd>Yes</PrivateCompanyCustomerInd>
                            <CustomerHierarchyCodeType>2</CustomerHierarchyCodeType>
                            <CustomerHierarchyCodeValue>name2</CustomerHierarchyCodeValue>
                        </XOrganizationBObjExt>
                </TCRMExtension>   
                <TCRMOrganizationNameBObj>
                    <OrganizationNameIdPK/>
                    <OrganizationPartyId/>
                    <OrganizationName>Media</OrganizationName>
                    <StartDate>2006-01-11</StartDate>
                    <EndDate/>
                    <NameUsageType>1</NameUsageType>
                </TCRMOrganizationNameBObj>                         
            </TCRMOrganizationBObj>
        </TCRMObject>
    </TCRMTx>
</TCRMService>

我运行了上面addOrganization的代码,但出现了以下错误。我相信有些标签,要么是放错了<TCRMExtension>地方<CustomerHierarchyCodeType>。有人能帮忙吗?

<?xml version="1.0" encoding="UTF-8"?>
<TCRMService xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="tCRMResponse.xsd">
       <ResponseControl>
              <ResultCode>FATAL</ResultCode>
              <ServiceTime>32</ServiceTime>
              <DWLControl>
                     <requesterLanguage>100</requesterLanguage>
                     <requesterLocale>en</requesterLocale>
                     <requesterName>cusadmin</requesterName>
                     <requestID>22456</requestID>
              </DWLControl>
       </ResponseControl>
       <TxResponse>
              <RequestType>addOrganization</RequestType>
              <TxResult>
                     <ResultCode>FATAL</ResultCode>
                     <DWLError>
                           <ComponentType>106</ComponentType>
                           <ErrorMessage>Parser DWLTransaction failed. The format of the message is not correct or an application error occurred.</ErrorMessage>
                           <ErrorType>READERR</ErrorType>
                           <LanguageCode>100</LanguageCode>
                           <ReasonCode>4928</ReasonCode>
                           <Severity>0</Severity>
                            <Throwable>com.dwl.base.requestHandler.exception.RequestParserException: cvc-complex-type.2.4.a: Invalid content was found starting with element &apos;XOrganizationBObjExt&apos;. One of &apos;{ExtendedObject, CommonExtensionBObj}&apos; is expected.</Throwable>
                     </DWLError>
              </TxResult>
       </TxResponse>
</TCRMService>

<TCRMExtension>标记保留在之前(TCRMOrganizationNameBObjTCRMOrganizationBObjTypexsd 中指定)。请参阅下面的 xsd。

TCRMOrganizationBObjType
<xsd:complexType name="TCRMOrganizationBObjType" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexContent>
<xsd:extension base="CommonBObjType">
<xsd:sequence maxOccurs="1" minOccurs="1">
<xsd:element maxOccurs="1" minOccurs="0" ref="ObjectReferenceId"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="PartyId"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="NewPartyIdReference"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="DisplayName"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="PreferredLanguageType"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="PreferredLanguageValue"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="ComputerAccessType"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="ComputerAccessValue"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="PartyType"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="CreatedDate"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="SinceDate"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="LeftDate"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="InactivatedDate"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="LastStatementDate"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="ReferredByPartyID"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="StatementFrequencyType"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="StatementFrequencyValue"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="ClientStatusType"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="ClientStatusValue"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="AlertIndicator"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="SolicitationIndicator"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="ConfidentialIndicator"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="ClientPotentialType"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="ClientPotentialValue"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="ClientImportanceType"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="ClientImportanceValue"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="MandatorySearchDone"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="PartyActiveIndicator"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="DoNotDeleteIndicator"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="LastUsedDate"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="LastVerifiedDate"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="SourceIdentifierType"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="SourceIdentifierValue"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="PartyLastUpdateDate"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="PartyLastUpdateUser"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="PartyLastUpdateTxId"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="AccessTokenValue"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="OrganizationPartyId"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="BuySellAgreementType"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="BuySellAgreementValue"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="ProfitIndicator"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="OrganizationType"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="OrganizationValue"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="EstablishedDate"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="IndustryType"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="IndustryValue"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="OrganizationLastUpdateDate"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="OrganizationLastUpdateUser"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="OrganizationLastUpdateTxId"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="TCRMExtension"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="PrimaryKeyBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMOrganizationNameBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMPartyAddressBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMPartyContactMethodBObj"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="TCRMFinancialProfileBObj"/>
<xsd:element maxOccurs="1" minOccurs="0" ref="TCRMInactivatedPartyBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMPartyIdentificationBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMPartyRelationshipBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMSuspectBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMAlertBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMAdminContEquivBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMPartyLobRelationshipBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMPartyPrivPrefBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMPartyValueBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="DWLAccessDateValueBObj"/>
<!-- ######## response element ######## -->
<xsd:element minOccurs="0" ref="ComponentID"/>
<xsd:element minOccurs="0" ref="PendingCDCIndicator"/>
<xsd:element minOccurs="0" ref="AddPartyStatus"/>
<xsd:element minOccurs="0" ref="PartyHistActionCode"/>
<xsd:element minOccurs="0" ref="PartyHistCreateDate"/>
<xsd:element minOccurs="0" ref="PartyHistCreatedBy"/>
<xsd:element minOccurs="0" ref="PartyHistEndDate"/>
<xsd:element minOccurs="0" ref="PartyHistoryIdPK"/>
Chapter 4. InfoSphere MDM Server business objects 905
<xsd:element minOccurs="0" ref="SearchPartyDone"/>
<xsd:element minOccurs="0" ref="OrganizationHistActionCode"/>
<xsd:element minOccurs="0" ref="OrganizationHistCreateDate"/>
<xsd:element minOccurs="0" ref="OrganizationHistCreatedBy"/>
<xsd:element minOccurs="0" ref="OrganizationHistEndDate"/>
<xsd:element minOccurs="0" ref="OrganizationHistoryIdPK"/>
<xsd:element minOccurs="0" ref="DWLStatus"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMPartyLinkBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMDefaultPrivPrefBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMPartySearchBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMOrganizationSearchBObj"/>
<xsd:element minOccurs="0" ref="TCRMMultiplePartyCDCBObj"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="TCRMPartyDemographicsBObj"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
4

2 回答 2

0

最新版本的 MDM 不允许轻松扩展派对对象。我们曾经做过一种解决方法,我们将 jar(尤其是属性)从旧版本的 MDM 复制到 RAD,这允许扩展派对对象。

在 jar 中使用此更改进行构建后,尽管 RAD 不允许所有功能,但它将使它们能够被扩展并在 PhysicalMDM.xsd 中,这足以使扩展工作。

PS:我手边没有罐子和财产;一旦我得到它,我会在这里更新。

于 2021-10-09T07:59:36.393 回答
0

以下将工作..

<TCRMService xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://www.ibm.com/mdm/schema" xsi:schemaLocation="http://www.ibm.com/mdm/schema MDMDomains.xsd">
        <RequestControl>
                <requestID>3</requestID>
                <DWLControl>
                        <requesterName>Sankar</requesterName>
                        <requesterLanguage>100</requesterLanguage>
                </DWLControl>
        </RequestControl>
        <TCRMTx>
                <TCRMTxType>addParty</TCRMTxType>
                <TCRMTxObject>TCRMOrganizationBObj</TCRMTxObject>
                <TCRMObject>
                        <TCRMOrganizationBObj>
                                <PartyType>O</PartyType>
                                <DoNotDeleteIndicator>1</DoNotDeleteIndicator>
                                <OrganizationType>1</OrganizationType>
                                <EstablishedDate>1978-01-03</EstablishedDate>
                                <IndustryType>10</IndustryType>
<TCRMOrganizationNameBObj>
                    <OrganizationNameIdPK/>
                    <OrganizationPartyId/>
                    <OrganizationName>Medteck</OrganizationName>
                    <StartDate>2006-01-11</StartDate>
                    <EndDate/>
                    <NameUsageType>1</NameUsageType>
                </TCRMOrganizationNameBObj>
        </TCRMOrganizationBObj>
                </TCRMObject>
        </TCRMTx>
</TCRMService>
于 2020-07-04T18:50:19.237 回答