AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.01.2009, 15:41   #1  
GromRom is offline
GromRom
Участник
 
63 / 10 (1) +
Регистрация: 22.10.2007
? Интеграция Axapta и Business Data Catalog
Коллеги, мне нужно получить данные из таблиц Axapta в Business Data Catalog (SharepointServer). Для этого я должен скормить в Business Data Catalog специальный ADF файл, который описывает сами данные, и методы подключения к ним.
Где и как я могу получить этот ADF файл?
Старый 12.01.2009, 15:59   #2  
slava09 is offline
slava09
Участник
Аватар для slava09
MCBMSS
Дети Юза
1C
 
1,642 / 237 (11) ++++++
Регистрация: 06.03.2003
Адрес: Украина, Киев
Цитата:
Сообщение от GromRom Посмотреть сообщение
Где и как я могу получить этот ADF файл?
Есть специальные утилиты, которые генерят эти файлы.
Вот довольно популярная утилита.
__________________
С уважением Шатохин Святослав.
За это сообщение автора поблагодарили: gl00mie (1), GromRom (1).
Старый 14.01.2009, 10:37   #3  
GromRom is offline
GromRom
Участник
 
63 / 10 (1) +
Регистрация: 22.10.2007
?
Цитата:
Сообщение от slava09 Посмотреть сообщение
Есть специальные утилиты, которые генерят эти файлы.
Вот довольно популярная утилита.
Спасибо, Я установил BDCMetaMan. Что бы подключиться к Аксапте, я написал web-сервис, который через механизм NetBusinessConnector берёт данные из объектной модели Аксапты.
Код:
[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;
}
 
}
Проблема в том, что BDCMetaMan не видит возвращаемого параметра System.Data.DataTable у метода GetAdmTree моего сервиса. Как же мне генерить ADF файл?
Старый 14.01.2009, 11:11   #4  
slava09 is offline
slava09
Участник
Аватар для slava09
MCBMSS
Дети Юза
1C
 
1,642 / 237 (11) ++++++
Регистрация: 06.03.2003
Адрес: Украина, Киев
Может как-нить по другому брать метаданные? Я не в курсе таких нюансов.
__________________
С уважением Шатохин Святослав.
Старый 14.01.2009, 12:46   #5  
GromRom is offline
GromRom
Участник
 
63 / 10 (1) +
Регистрация: 22.10.2007
?
Цитата:
Сообщение от slava09 Посмотреть сообщение
Может как-нить по другому брать метаданные? Я не в курсе таких нюансов.
Как? в этом собственно и был мой вопрос - как получить метаданные.
Старый 14.01.2009, 13:04   #6  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Цитата:
Сообщение от GromRom Посмотреть сообщение
Проблема в том, что BDCMetaMan не видит возвращаемого параметра System.Data.DataTable у метода GetAdmTree моего сервиса.
Что значит не видит? Если вызывать GetAdmTree() через браузер на локальном компьютере, Вы видите сериализованный dataTable?
Старый 14.01.2009, 13:19   #7  
GromRom is offline
GromRom
Участник
 
63 / 10 (1) +
Регистрация: 22.10.2007
Angry
Цитата:
Сообщение от _scorp_ Посмотреть сообщение
Что значит не видит? Если вызывать GetAdmTree() через браузер на локальном компьютере, Вы видите сериализованный dataTable?
Браузер его замечательно видит.
Код:
- <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">
Вопрос не в том, видит ли его браузер. Его не видит BDCMetaMan.
Старый 14.01.2009, 13:34   #8  
GromRom is offline
GromRom
Участник
 
63 / 10 (1) +
Регистрация: 22.10.2007
Cool
Цитата:
Сообщение от _scorp_ Посмотреть сообщение
Что значит не видит?
BDCMetaMan строит дерево из методов сервиса. GetAdmTree() имеет два подузла - водящие параметры и исходящие параметры. Оба подузла пустые.

В то же время подузел "исходящие параметры" метода "HelloWorld" имеет подузел "HelloWorldResult", который то же имеет подузел "string".

Когда я прошу BDCMetaMan сгенерить ADF для метода GetAdmTree - он говорит - нет выходного параметра, нечего описывать.
Старый 14.01.2009, 13:35   #9  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Цитата:
Сообщение от GromRom Посмотреть сообщение
Браузер его замечательно видит.
Вопрос не в том, видит ли его браузер. Его не видит BDCMetaMan.
Возможно, BDCMetaMan хочет на вход получать типизированный DataTable. Ну это уже вопрос к создателям утилиты BDCMetaMan или к документации по ней (если она есть).
Старый 14.01.2009, 13:42   #10  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Попробуйте возвращать не DataTable, а
X++:
StringWriter writer = new StringWriter();
dataTable.WriteXml(writer);
return writer.ToString();
а там где будете принимать, используйте
X++:
StringReader reader = new StringReader(yourXml);
dataTable.ReadXml(reader);
Теги
business data catalog

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
C# and AX Development: Using the .NET Business Connector for Dynamics AX / Axapta Blog bot DAX Blogs 0 18.12.2007 04:00
Inside Dynamics AX 4.0: Working with the .NET Business Connector Blog bot DAX Blogs 0 04.10.2007 05:15
Inside Dynamics AX 4.0: Inside the Business Connector Blog bot DAX Blogs 0 04.10.2007 05:15
Использование View как Data Source или Нормализация Базы Знаний в Axapta rohlenko DAX: Программирование 15 17.02.2005 14:00
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:07.