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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.01.2009, 04:10   #1  
Blog bot is offline
Blog bot
Участник
 
25,617 / 848 (80) +++++++
Регистрация: 28.10.2006
jinx: Microsoft Dynamics AX AIF - Dokumente, Services aber keine Operationen?
Das Application Integration Framework von Dynamics AX basiert auf Dokumenten (AxdKlassen).
Eigene Dokumente lassen sich reicht einfach per Hand oder mit Hilfe des Dokumenten-Wizardserstellen.
In der Version 2009 von Dynamics AX erstellt dieser Wizard auch gleichzeitig den benötigentenService (WCF-Webservice) und andere benötigte Elemente wie (Serviceklassen und Macros).
Welche Schritte hierfür benötigt werden ist zum Beispiel im MicrosoftDynamics AX Developer Center beschrieben.

Ein kleines Problem entsteht, wenn das neue Dokument, genauer gesagt die Elementeoder Objekte des Dokuments, in einem Layer (zum Beispiel CUS-Layer) entwickelt wirdund später, aus welchen Gründen auch immer, alle Objekte des Dokuments (Query, AxClass, Axd Class) in einen anderen Layer (zum Beispiel VAR-Layer)verschoben werden.

Nach der "Verschiebung" des neuen Dokuments in einen anderen Entwicklungslayer werdendurch die AIF-Konfigurationsmasken (siehe Maske Dienstleistungen) allerdings keineOperationen (Insert, Update, Delete, FindKey, etc.) mehr angezeigt.
Auch an anderen Stellen, wie zum Beispiel der Endpunktkonfiguration, sind die entsprechendenOperationen nicht mehr auswählbar oder vorhanden.

Der Grund hierfür liegt in der ClassId der Serviceklasse des neuen Dokuments. Dieser,wie auch jedem anderen Objekt, wird beim Import in einen anderen Layer eine neue IDzugewiesen, wenn nicht explizit angegeben wurde, dass der Export und Import mit ID'serfolgen soll. So kann es sein, dass die Klasse mit der ID 40001 nach dem Import ineinen anderen Layer die ID 300001 zugeordnet ist.

Da wärend der Konfiguration des AIF's der AOT nach Dokumenten/Services durchsuchtwird und für jedes Dokument bzw. jeden Service ein Datensatz in der Tabelle "AifService"sowie ein bis mehrere Datensätze in der Tabelle "AifAction" erzeugt wird, welche alleeine Referenz auf die ClassId der Serviceklasse enthalten, kommt es jetzt zu dem genanntenProblem.
Der Id 40001 ist nun keine Klasse oder noch schlimmer eine andere Klasse zugewiesen.Auch eine "Aktualisierung" dieser Datensätze über die Aktualisierungsfunktion, welcheauf der Maske Dienstleistungen bereit gestellt wird, führt nicht zum gewünschten Erfolg.

Genau in dieser Funktion scheint sich ein kleiner Fehler eingeschlichen zu haben.Dort wird zwar eine Aktulisierung der ClassId für die Datensätze der Tabelle "AifService",aber nicht für die Datensätze der Tabelle "AifAction", durchgeführt.

Um diese Verhalten zu reproduzieren, muss folgendes gemacht werden:
  1. Erstellen eines neuen AIF Dokuments bzw. AIF Services.
  2. Über die Maske Dienstleistungen, zu finden unter "Grundeinstellungen -> Einstellungen-> Application Integration Framework -> Dienstleistungen", Funktion "Aktualisieren"das neue Dokument / den neuen Service "aktivieren".
  3. Über den Button "Servicearbeitsgänge" können nun alle Operationen welche durch dasDokument / den Service bereit gestellt werden eingesehen werden.
  4. Verschieben aller Elemente des Dokuments / des Services in einen anderen Layer.
  5. Schritt 2 erneut druchführen.
  6. Über den Button "Servicearbeitsgänge" werden keine Operation mehr angezeigt.
Um dieses Problem zu lösen, gibt 2 Möglichkeiten.

Entweder manuelles Löschen alle zu diesem Dokument/Service gehörigen Datensätzeder Tabelle "AifAction" oder aber man ergänzt die Methode "registerOperations" derKlasse "AifServiceGenerationManager" um ein wenig X++ Code (bei Zeile 43) welchernicht nur den Namen der Operation aktualisiert sondern auch die ClassId.
Da dieser Code sehr einfach ist verzichte ich an dieser Stelle auf ein Beispiel.

Leider tritt dieses Problem auch mit Dynamics AX 2009 Service Pack 1 auf.


Es wird keine Haftung oder Gewährleistung auf die Richtigkeit der gemachten Angaben gegeben. Die Verwendung erfolgt auf eigene Gefahr. Copyright © Axel Kühn (Aku's AX Blog, http://blog.ak-home.net) and Mathias Füßler (jinx's AX Blog, http://starside.eu)

More...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX: Microsoft's strategy and vision for Dynamics AX and SOA Blog bot DAX Blogs 0 05.03.2009 18:05
jinx: Microsoft Dynamics AX 2009 Dokumente / Whitepaper Blog bot DAX auf Deutsch 0 30.08.2008 19:05
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
jinx: Microsoft Dynamics AX B?cherliste Blog bot DAX auf Deutsch 0 28.03.2008 03:43
Сергей Герасимов: Что нового в Microsoft Dynamics AX 4.0 Blog bot DAX Blogs 0 16.01.2007 11:00

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

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

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