3.1.4.86 GetTypeDescriptorsByNameAndLevelForParameter

The GetTypeDescriptorByNameAndLevelForParameter operation SHOULD<103> retrieve the TypeDescriptors with the specified name and level contained by the specified Parameter. The level of a TypeDescriptor is defined as follows:

  • The level of the root TypeDescriptor is set to zero ("0").

  • The level of the specified TypeDescriptor is 1 plus the level of the TypeDescriptor containing the specified TypeDescriptor.

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

 <wsdl:operation name="GetTypeDescriptorsByNameAndLevelForParameter" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
   <wsdl:input wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/GetTypeDescriptorsByNameAndLevelForParameter" message="tns:BusinessDataCatalogSharedService_GetTypeDescriptorsByNameAndLevelForParameter_InputMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:output wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/GetTypeDescriptorsByNameAndLevelForParameterResponse" message="tns:BusinessDataCatalogSharedService_GetTypeDescriptorsByNameAndLevelForParameter_OutputMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:fault wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/GetTypeDescriptorsByNameAndLevelForParameterArgumentExceptionFault" name="ArgumentExceptionFault" message="tns:BusinessDataCatalogSharedService_GetTypeDescriptorsByNameAndLevelForParameter_ArgumentExceptionFault_FaultMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:fault wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/GetTypeDescriptorsByNameAndLevelForParameterArgumentNullExceptionFault" name="ArgumentNullExceptionFault" message="tns:BusinessDataCatalogSharedService_GetTypeDescriptorsByNameAndLevelForParameter_ArgumentNullExceptionFault_FaultMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:fault wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/GetTypeDescriptorsByNameAndLevelForParameterArgumentOutOfRangeExceptionFault" name="ArgumentOutOfRangeExceptionFault" message="tns:BusinessDataCatalogSharedService_GetTypeDescriptorsByNameAndLevelForParameter_ArgumentOutOfRangeExceptionFault_FaultMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:fault wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/GetTypeDescriptorsByNameAndLevelForParameterBdcExceptionStateFault" name="BdcExceptionStateFault" message="tns:BusinessDataCatalogSharedService_GetTypeDescriptorsByNameAndLevelForParameter_BdcExceptionStateFault_FaultMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:fault wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/GetTypeDescriptorsByNameAndLevelForParameterInvalidOperationExceptionFault" name="InvalidOperationExceptionFault" message="tns:BusinessDataCatalogSharedService_GetTypeDescriptorsByNameAndLevelForParameter_InvalidOperationExceptionFault_FaultMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:fault wsaw:Action="http://www.microsoft.com/Office/2009/BusinessDataCatalog/BusinessDataCatalogSharedService/GetTypeDescriptorsByNameAndLevelForParameterMetadataExceptionStateFault" name="MetadataExceptionStateFault" message="tns:BusinessDataCatalogSharedService_GetTypeDescriptorsByNameAndLevelForParameter_MetadataExceptionStateFault_FaultMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
 </wsdl:operation>

The protocol client sends a BusinessDataCatalogSharedService_GetTypeDescriptorsByNameAndLevelForParameter_InputMessage request message, and the protocol server MUST respond with a BusinessDataCatalogSharedService_GetTypeDescriptorsByNameAndLevelForParameter_OutputMessage response message, unless any faults occur.

If the condition 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.

Error complex type

Condition

ArgumentOutOfRangeException (from namespace http://schemas.datacontract.org/2004/07/System)

The specified MetadataObjectId is set to zero ("0"), or the specified level is less than zero.

BdcExceptionState (from namespace http://schemas.datacontract.org/2004/07/Microsoft.BusinessData.Infrastructure)

Either the Parameter with the specified MetadataObjectId or the specified name of the TypeDescriptor does not exist.