|
12.01.2009, 15:41 | #1 |
Участник
|
Интеграция Axapta и Business Data Catalog
Коллеги, мне нужно получить данные из таблиц Axapta в Business Data Catalog (SharepointServer). Для этого я должен скормить в Business Data Catalog специальный ADF файл, который описывает сами данные, и методы подключения к ним.
Где и как я могу получить этот ADF файл? |
|
12.01.2009, 15:59 | #2 |
Участник
|
Есть специальные утилиты, которые генерят эти файлы.
Вот довольно популярная утилита.
__________________
С уважением Шатохин Святослав. |
|
|
За это сообщение автора поблагодарили: gl00mie (1), GromRom (1). |
14.01.2009, 10:37 | #3 |
Участник
|
Цитата:
Сообщение от slava09
Есть специальные утилиты, которые генерят эти файлы.
Вот довольно популярная утилита. Код: [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] publicclassAxProvider : System.Web.Services.WebService { [WebMethod] publicstring HelloWorld() { return "Hello World"; } [WebMethod] public System.Data.DataTable GetAdmTree() { string organizatonStructureProviderClassName = System.Configuration.ConfigurationManager.AppSettings["AxOrganizatonStructureProviderClass"]; string organizatonStructureProviderDataMethodName = System.Configuration.ConfigurationManager.AppSettings["AxOrganizatonStructureProviderDataMethod"]; string organizatonStructureProviderSchemaMethodName = System.Configuration.ConfigurationManager.AppSettings["AxOrganizatonStructureProviderSchemaMethod"]; string logonConfigurationFile = System.Configuration.ConfigurationManager.AppSettings["AxLogonConfiguration"]; DAX.AxaptaProvider axaptaProvider = new DAX.AxaptaProvider(logonConfigurationFile, organizatonStructureProviderClassName); // вот здесь спрятан код обращения к аксапте через NetBusinessConnector System.Data.DataTable dataTable = axaptaProvider.GetDataTable(organizatonStructureProviderSchemaMethodName, organizatonStructureProviderDataMethodName); return dataTable; } } |
|
14.01.2009, 11:11 | #4 |
Участник
|
Может как-нить по другому брать метаданные? Я не в курсе таких нюансов.
__________________
С уважением Шатохин Святослав. |
|
14.01.2009, 12:46 | #5 |
Участник
|
|
|
14.01.2009, 13:04 | #6 |
Участник
|
|
|
14.01.2009, 13:19 | #7 |
Участник
|
Цитата:
Код: - <DataTable xmlns="http://tempuri.org/"> - <xs:schema id="NewDataSet" targetNamespace="AxEmployeesProfiles" xmlns:mstns="AxEmployeesProfiles" xmlns="AxEmployeesProfiles" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified"> |
|
14.01.2009, 13:35 | #8 |
Участник
|
|
|
14.01.2009, 13:34 | #9 |
Участник
|
BDCMetaMan строит дерево из методов сервиса. GetAdmTree() имеет два подузла - водящие параметры и исходящие параметры. Оба подузла пустые.
В то же время подузел "исходящие параметры" метода "HelloWorld" имеет подузел "HelloWorldResult", который то же имеет подузел "string". Когда я прошу BDCMetaMan сгенерить ADF для метода GetAdmTree - он говорит - нет выходного параметра, нечего описывать. |
|
14.01.2009, 13:42 | #10 |
Участник
|
Попробуйте возвращать не DataTable, а
X++: StringWriter writer = new StringWriter(); dataTable.WriteXml(writer); return writer.ToString(); X++: StringReader reader = new StringReader(yourXml);
dataTable.ReadXml(reader); |
|
Теги |
business data catalog |
|
|