3.1.4.89 ImportPackage

This operation is used to create the following objects in the metadata store:

  • MetadataObjects contained by the specified MetadataModel along with their properties, localized names and ACEs, if the "Model" value is specified for the packageContents element. The MetadataModel MUST be specified as XML that conforms to [MS-BDCMFFS] section 2.1.3.34. If the MetadataModel contains an LobSystem that has the same name and type as an LobSystem in the metadata store, the LobSystem in the MetadataModel MUST be ignored by the protocol server along with all LobSystemInstances contained by that LobSystem along with properties, localized names and ACEs of the ignored MetadataObjects. If the MetadataModel contains an Entity that has the same name, namespace, and version as an Entity in the metadata store, and if the names of the LobSystems that contain these Entities are identical, the Entity in the MetadataModel MUST be ignored by the protocol server along with all MetadataObjects contained by the Entity or other ignored MetadataObjects along with the properties, localized names, and ACEs of the ignored MetadataObjects.

  • Localized names, Properties, and ACEs corresponding to MetadataObjects contained by the specified MetadataModel, if "Model" value is not specified for the packageContents element. The MetadataModel MUST be specified as an XML that conforms to [MS-BDCMFFS] section 2.2.3.28.

The following is the WSDL port type specification of the ImportPackage WSDL operation.

 <wsdl:operation name="ImportPackage" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
   <wsdl:input wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/ImportPackage" message="tns:BusinessDataCatalogSharedService_ImportPackage_InputMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:output wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/ImportPackageResponse" message="tns:BusinessDataCatalogSharedService_ImportPackage_OutputMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:fault wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/ImportPackageArgumentExceptionFault" name="ArgumentExceptionFault" message="tns:BusinessDataCatalogSharedService_ImportPackage_ArgumentExceptionFault_FaultMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:fault wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/ImportPackageArgumentNullExceptionFault" name="ArgumentNullExceptionFault" message="tns:BusinessDataCatalogSharedService_ImportPackage_ArgumentNullExceptionFault_FaultMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:fault wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/ImportPackageArgumentOutOfRangeExceptionFault" name="ArgumentOutOfRangeExceptionFault" message="tns:BusinessDataCatalogSharedService_ImportPackage_ArgumentOutOfRangeExceptionFault_FaultMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:fault wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/ImportPackageBdcExceptionStateFault" name="BdcExceptionStateFault" message="tns:BusinessDataCatalogSharedService_ImportPackage_BdcExceptionStateFault_FaultMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:fault wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/ImportPackageInvalidOperationExceptionFault" name="InvalidOperationExceptionFault" message="tns:BusinessDataCatalogSharedService_ImportPackage_InvalidOperationExceptionFault_FaultMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:fault wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/ImportPackageMetadataExceptionStateFault" name="MetadataExceptionStateFault" message="tns:BusinessDataCatalogSharedService_ImportPackage_MetadataExceptionStateFault_FaultMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:fault wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/ImportPackagePackageFormatExceptionStateFault" name="PackageFormatExceptionStateFault" message="tns:BusinessDataCatalogSharedService_ImportPackage_PackageFormatExceptionStateFault_FaultMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
 </wsdl:operation>

The protocol client sends a BusinessDataCatalogSharedService_ImportPackage_InputMessage request message, and the protocol server MUST respond with a BusinessDataCatalogSharedService_ImportPackage_OutputMessage response message, unless any one of the conditions in the following table is met.

If any one of the conditions in the following table is met, the protocol server MUST instead respond  with a SOAP fault containing the corresponding error complex type, serialized as specified in section 2.2.4. If more than one error condition is encountered, the protocol server MUST respond with exactly one error complex type, determined in an implementation-specific manner.

Error complex type

Condition

AccessDeniedExceptionState (section 2.2.4.3)

The security principal (2) in whose context the protocol client is operating is not authorized to create or modify the specified Model.

PackageFormatExceptionState (section 2.2.4.48)

One of the following conditions applies:

  • The "Model" value is specified for the packageContents element and the specified XML does not conform to [MS-BDCMFFS] section 2.1.3.34.

  • The "Model" value is not specified for the packageContents element and the specified XML does not conform to [MS-BDCMFFS] section 2.2.3.28.

  • The value of the updateModel element is "false", the "Model" value is specified for packageContents element and there is already another Model with the same name as the Model contained by the MetadataModel in the specified Partition.

  • The value of the updateModel element is "true", the "Model" value is specified for packageContents element and the Model contained by the MetadataModel does not exist in the specified Partition.

  • The "Model" value is not specified for the packageContents element and at least one the MetadataObjects contained by the MetadataModel does not exist in the metadata store.

  • The "Model" value is specified for the packageContents element and one of the LobSystems contained by the MetadataModel has the same name as an LobSystem in the metadata store, but the LobSystem contained by the MetadataModel has a different type than the LobSystem in the metadata store.

  • The "Model" value is specified for the packageContents element and one of the Entities contained by the MetadataModel has the same name, namespace and version as an Entity in the metadata store, but the names of the LobSystems that contain these Entities are not identical.

  • The "InlineProxies" value is specified for the packageContents element and the specified MetadataModel contains LobSystem with an associated Business Logic Module.

  • The "Model" value is specified for the packageContents element, and the specified MetadataModel contains a Method that contains more than one FilterDescriptor of type TimeStampFilter.

  • The "Model" value is specified for the packageContents element, and the specified MetadataModel contains a StreamAccessor that specifies ReturnTypeDescriptor that contains other TypeDescriptors.

  • The "Model" value is specified for the packageContents element, and the specified MetadataModel contains a StreamAccessor and the TypeDescriptor containing the ReturnTypeDescriptor of this MethodInstance contains another TypeDescriptor under its parent TypeDescriptor, and the LobSystem containing the Entity which contains this StreamAccessor has type specified as "Database".

  • The "Model" value is specified for the packageContents element, and the specified MetadataModel contains MethodInstance, and the Method for which this MethodInstance is being created does not have a Parameter whose Direction is "In" or "InOut" and the type of the this MethodInstance, is one of the following values:

    • AccessChecker

    • AssociationNavigator

    • Associator

    • BinarySecurityDescriptorAccessor

    • BulkAssociatedIdEnumerator

    • BulkAssociationNavigator

    • BulkIdEnumerator

    • BulkSpecificFinder

    • ChangedIdEnumerator

    • DeletedIdEnumerator

    • Deleter

    • Disassociator

    • SpecificFinder

    • Updater

    • StreamAccessor

  • The "Model" value is specified for the packageContents element, and the specified MetadataModel contains a MethodInstance, the Method containing this MethodInstance is not contain a TimeStampFilter and the type of this MethodInstance is one of the following values:

    • ChangedIdEnumerator

    • DeletedIdEnumerator