Business Data Catalog: Application Definition File issue
-
Thursday, June 21, 2012 6:50 AMI created my BDC application definition file with the help of Application Definition Designer. Before exporting the file, I executed the methods and they are all executing fine without issues. I then exported the file and imported it in my SSP which got imported without issues.
However, when I try to add the Business Data List webpart and tried to browse the business data type, I am unable to get the just imported application file. I tried the same steps with BDC meta man and I am able to view my Business data in SharePoint.
Do I need to do any specific changes before exporting my ADF file while using Application Definition Designer?
All Replies
-
Thursday, June 21, 2012 9:52 AM
Hi,
Can you compare these ADF files and find the difference?
Dmitry
Lightning
Tools Check out our SharePoint tools and web parts |
Lightning Tools Blog -
Thursday, June 21, 2012 10:06 AMI tried and compared. There is a difference of just one extra method when I created the App definition file through BDC metaman. One more thing i noticed was that, there was an article which stated to change the MethodInstanceType from SpecificFinder to Finder. I changed that. Still the same results. Any help would be appreciated.
-
Thursday, June 21, 2012 10:37 AMPlease post here ADF that doesn't work.
Dmitry
Lightning
Tools Check out our SharePoint tools and web parts |
Lightning Tools Blog -
Thursday, June 21, 2012 11:56 AM
Here it is:
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <LobSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Type="Database" Version="1.0.0.0" Name="AdventureWorks" xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog"> <LobSystemInstances> <LobSystemInstance Name="AdventureWorks_Instance"> <Properties> <Property Name="DatabaseAccessProvider" Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAccessProvider">SqlServer</Property> <Property Name="AuthenticationMode" Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAuthenticationMode">PassThrough</Property> <Property Name="rdbconnectionData Source" Type="System.String">local</Property> <Property Name="rdbconnectionInitial Catalog" Type="System.String">AdventureWorks</Property> <Property Name="rdbconnectionIntegrated Security" Type="System.Boolean">true</Property> <Property Name="rdbconnectionUser ID" Type="System.String">test</Property> <Property Name="rdbconnectionPassword" Type="System.String">test</Property> </Properties> </LobSystemInstance> </LobSystemInstances> <Entities> <Entity EstimatedInstanceCount="10000" Name="[AdventureWorks].[Person].[Contact]"> <Identifiers> <Identifier TypeName="System.Int32" Name="ContactID" /> </Identifiers> <Methods> <Method Name="Find_[AdventureWorks].[Person].[Contact]"> <Properties> <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property> <Property Name="RdbCommandText" Type="System.String">Select "ContactID","NameStyle","Title","FirstName","MiddleName","LastName","Suffix","EmailAddress","EmailPromotion","Phone","PasswordHash","PasswordSalt","AdditionalContactInfo","rowguid","ModifiedDate" from [AdventureWorks].[Person].[Contact] where ContactID=@ContactID</Property> </Properties> <Parameters> <Parameter Direction="In" Name="@ContactID"> <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="ContactID" Name="ContactID" /> </Parameter> <Parameter Direction="Return" Name="@[AdventureWorks].[Person].[Contact]"> <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Reader"> <TypeDescriptors> <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Record"> <TypeDescriptors> <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="ContactID" Name="ContactID" /> <TypeDescriptor TypeName="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="NameStyle" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Title" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="FirstName" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="MiddleName" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="LastName" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Suffix" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="EmailAddress" /> <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="EmailPromotion" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Phone" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="PasswordHash" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="PasswordSalt" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="AdditionalContactInfo" /> <TypeDescriptor TypeName="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="rowguid" /> <TypeDescriptor TypeName="System.DateTime, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ModifiedDate" /> </TypeDescriptors> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </Parameter> </Parameters> <MethodInstances> <MethodInstance Type="SpecificFinder" ReturnParameterName="@[AdventureWorks].[Person].[Contact]" ReturnTypeDescriptorName="Reader" ReturnTypeDescriptorLevel="0" Name="Find_[AdventureWorks].[Person].[Contact]_Instance" /> </MethodInstances> </Method> <Method Name="FindAll_[AdventureWorks].[Person].[Contact]"> <Properties> <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property> <Property Name="RdbCommandText" Type="System.String">Select "ContactID" from [AdventureWorks].[Person].[Contact]</Property> </Properties> <Parameters> <Parameter Direction="Return" Name="@[AdventureWorks].[Person].[Contact]"> <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Reader"> <TypeDescriptors> <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Record"> <TypeDescriptors> <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="ContactID" Name="ContactID" /> </TypeDescriptors> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </Parameter> </Parameters> <MethodInstances> <MethodInstance Type="IdEnumerator" ReturnParameterName="@[AdventureWorks].[Person].[Contact]" ReturnTypeDescriptorName="Reader" ReturnTypeDescriptorLevel="0" Name="FindAll_[AdventureWorks].[Person].[Contact]_Instance" /> </MethodInstances> </Method> </Methods> </Entity> </Entities> </LobSystem>
-
Thursday, June 21, 2012 12:10 PMYou have to define Finder method in your ADF. Your current ADF should be visible in Business Data Item Web Part.
Dmitry
Lightning
Tools Check out our SharePoint tools and web parts |
Lightning Tools Blog
- Edited by Dmitry KaloshinMicrosoft Community Contributor Thursday, June 21, 2012 12:12 PM
-
Thursday, June 21, 2012 12:18 PMDo I need to manually add a finder method? If yes, can you please show me how do that and with what values?
-
Thursday, June 21, 2012 12:28 PMYou may add it manually and you may take it from the ADF generated with BDC MetaMan.
Dmitry
Lightning
Tools Check out our SharePoint tools and web parts |
Lightning Tools Blog -
Thursday, June 21, 2012 12:37 PMBut when we build the App Definition file with Application Definition Designer, all methods should be built. Is there a way I can generate it automatically via the tools itself? Manually adding or copying from BDC is a temp solution.
-
Thursday, June 21, 2012 2:16 PM
Please find a couple examples (how to create ADF with Application Definition Designer) in these articles:
Dmitry
Lightning
Tools Check out our SharePoint tools and web parts |
Lightning Tools Blog -
Friday, June 22, 2012 3:01 AMThanks for the reply Dmitry. I already followed the same links to start with and was facing issues there after. If you have any more help articles would be really grateful.
-
Friday, June 22, 2012 11:04 AM
This is a bug in the Application Definition Designer. Please take a look at this article that contains possible workaround There are no Business Data Types loaded in the Catalog – Business Data Type Picker
Dmitry
Lightning
Tools Check out our SharePoint tools and web parts |
Lightning Tools Blog
- Edited by Dmitry KaloshinMicrosoft Community Contributor Friday, June 22, 2012 11:06 AM
- Marked As Answer by Lhan HanModerator Friday, July 06, 2012 7:50 AM

