|  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:34 | #8 | 
| Участник |   
			
			BDCMetaMan строит дерево из методов сервиса. GetAdmTree() имеет два подузла - водящие параметры и исходящие параметры. Оба подузла пустые. В то же время подузел "исходящие параметры" метода "HelloWorld" имеет подузел "HelloWorldResult", который то же имеет подузел "string". Когда я прошу BDCMetaMan сгенерить ADF для метода GetAdmTree - он говорит - нет выходного параметра, нечего описывать. | 
|  | 
|  14.01.2009, 13:35 | #9 | 
| Участник | |
|  | 
|  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 | 
|  | 
| 
 |