|
|
|
|
#1 |
|
Участник
|
Коллеги, мне нужно получить данные из таблиц Axapta в Business Data Catalog (SharepointServer). Для этого я должен скормить в Business Data Catalog специальный ADF файл, который описывает сами данные, и методы подключения к ним.
Где и как я могу получить этот ADF файл? |
|
|
|
|
#2 |
|
Участник
|
Есть специальные утилиты, которые генерят эти файлы.
Вот довольно популярная утилита.
__________________
С уважением Шатохин Святослав. |
|
|
|
| За это сообщение автора поблагодарили: gl00mie (1), GromRom (1). | |
|
|
#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;
}
} |
|
|
|
|
#4 |
|
Участник
|
Может как-нить по другому брать метаданные? Я не в курсе таких нюансов.
__________________
С уважением Шатохин Святослав. |
|
|
|
|
#5 |
|
Участник
|
|
|
|
|
|
#6 |
|
Участник
|
|
|
|
|
|
#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"> |
|
|
|
|
#8 |
|
Участник
|
|
|
|
|
|
#9 |
|
Участник
|
BDCMetaMan строит дерево из методов сервиса. GetAdmTree() имеет два подузла - водящие параметры и исходящие параметры. Оба подузла пустые.
В то же время подузел "исходящие параметры" метода "HelloWorld" имеет подузел "HelloWorldResult", который то же имеет подузел "string". Когда я прошу BDCMetaMan сгенерить ADF для метода GetAdmTree - он говорит - нет выходного параметра, нечего описывать. |
|
|
|
|
#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 |
|
|
|