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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.10.2015, 17:36   #1  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
AIF ServiceGroup с разными сервисами
Всем привет!

У меня вопрос по AIF.

Есть группа сервисов ServiceGroup в АОТ. В неё можно добавлять различные сервисы 1, 2 ... Сервисы могут быть разные, использовать разные контракты да и возвращать различные данные. Если добавить в сервисную группу различные сервисы и посмотреть wsdl сервиса, который работает по net.tcp, то wsdl открывается нормально. Но если этот сервис развернуть на http и попробовать просмотреть wsdl то выводится куча ошибок:

Цитата:
[BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)]
System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType) +0
System.Reflection.RuntimeMethodInfo.get_Signature() +82
System.Reflection.RuntimeMethodInfo.GetParameters() +38
System.Runtime.Serialization.ClassDataContractCriticalHelper.EnsureMethodsImported() +188
System.Runtime.Serialization.DataContractCriticalHelper.CreateDataContract(Int32 id, RuntimeTypeHandle typeHandle, Type type) +793
System.Runtime.Serialization.DataContractCriticalHelper.GetDataContractSkipValidation(Int32 id, RuntimeTypeHandle typeHandle, Type type) +117
System.Runtime.Serialization.XsdDataContractExporter.GetSchemaTypeName(Type type) +85
System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter..ctor(OperationDescription description, DataContractFormatAttribute dataContractFormatAttribute, DataContractSerializerOperationBehavior serializerFactory) +412
System.ServiceModel.Description.DataContractSerializerOperationBehavior.GetFormatter(OperationDescription operation, Boolean& formatRequest, Boolean& formatReply, Boolean isProxy) +308
System.ServiceModel.Description.DataContractSerializerOperationBehavior.System.ServiceModel.Description.IOperationBehavior.ApplyDispatchBehavior(OperationDescription description, DispatchOperation dispatch) +69
System.ServiceModel.Description.DispatcherBuilder.BindOperations(ContractDescription contract, ClientRuntime proxy, DispatchRuntime dispatch) +120
System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description, ServiceHostBase serviceHost) +4106
System.ServiceModel.ServiceHostBase.InitializeRuntime() +90
System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) +175
System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +740
System.ServiceModel.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity) +125
System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) +901

[ServiceActivationException: The service '/MicrosoftDynamicsAXAif60/ServiceGroup/xppservice.svc' cannot be activated due to an exception during compilation. The exception message is: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B).]
System.Runtime.AsyncResult.End(IAsyncResult result) +624474
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +196075
System.Web.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar) +166
Собственно, вопрос к знатокам. Вы каждый раз делаете ServiceGroup на каждый сервис? Может есть какой-то подход к реализации групп сервисов которые работают по http? Если в группу сервисов нельзя добавлять разные сервисы, то зачем они тогда нужны?

Ах2012 R3
Старый 05.11.2015, 18:16   #2  
f18 is offline
f18
Участник
Аватар для f18
Дети Юза
 
188 / 101 (4) +++++
Регистрация: 09.08.2005
в двух словах - впоймал это же, что нашел.

1)
https://community.dynamics.com/ax/b/...ult-0x8007000b

В двух словах дата контракт должен содержать только парм методы + (если СЮ7) нужен хотфикс

2)
https://community.dynamics.com/ax/b/...correct-format

В двух словах set Enable 32-bit Application = True Для Appl pool in IIS.

2)-е стоит уже давно - не помогло
на одном сервисе 1) помогло -

сейчас переформатирую еще 3 сервиса и попробую еще раз.

Ед хотел обратить внимаие - речь идет не только о дата контрактах входящих но и о респонсах в инбоунд портах.

Удачи,
Виталий
Старый 05.11.2015, 22:21   #3  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от f18 Посмотреть сообщение
в двух словах - впоймал это же, что нашел.

1)
https://community.dynamics.com/ax/b/...ult-0x8007000b

В двух словах дата контракт должен содержать только парм методы + (если СЮ7) нужен хотфикс

2)
https://community.dynamics.com/ax/b/...correct-format

В двух словах set Enable 32-bit Application = True Для Appl pool in IIS.

2)-е стоит уже давно - не помогло
на одном сервисе 1) помогло -

сейчас переформатирую еще 3 сервиса и попробую еще раз.

Ед хотел обратить внимаие - речь идет не только о дата контрактах входящих но и о респонсах в инбоунд портах.

Удачи,
Виталий
Всё понятно, Bro! Делов то..
Старый 06.11.2015, 10:07   #4  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Цитата:
двух словах - впоймал это же, что нашел.

1)
https://community.dynamics.com/ax/b/...ult-0x8007000b

В двух словах дата контракт должен содержать только парм методы + (если СЮ7) нужен хотфикс

2)
https://community.dynamics.com/ax/b/...correct-format

В двух словах set Enable 32-bit Application = True Для Appl pool in IIS.

2)-е стоит уже давно - не помогло
на одном сервисе 1) помогло -

сейчас переформатирую еще 3 сервиса и попробую еще раз.

Ед хотел обратить внимаие - речь идет не только о дата контрактах входящих но и о респонсах в инбоунд портах.
У нас Ax 2012 R3. 1) Ссылка говорит нам о том, чтобы оставить в контракте только parm* методы. На самом деле если SeviceGroup использует сервис, который принимает контракт, в котором есть, например, метод validate, то все работает идеально и разворачивается на IIS'е без проблем.
2) По второй ссылке тоже ходил, установил параметр как сказано, и даже, кажется, переразворачивал сервис - не помогло.

Собственно я и решил поинтересоваться, может кто делал одну ServiceGroup с разными сервисами, которые могут принимать разные контракты и при этом нормально разворачиваться на IIS'е.

Попробую еще поиграться с настройками, если появится время.
Старый 13.11.2015, 01:02   #5  
f18 is offline
f18
Участник
Аватар для f18
Дети Юза
 
188 / 101 (4) +++++
Регистрация: 09.08.2005
У меня, к сожалению, задачка не терпит, поэтому рыл до тех пор пока не дошел до следующих выводов (дополнительно к написанному).
Inbound port и мы принимает некие дата контракты, и ответом отвечаем что мол получили или "что в ответ на Ваш запрос сообщаем" - все в общем стандартно. Другое дело что для унификаации ответов - сделали базовый дата контракт с ответом, и его расширяли в каждом конкретном случае. При использовании file адаптера или net.tcp - все работает - вопросов нет, а вот с HTTP адаптером пришлось откзаться от идеи делать наследование в респонсах.

Версия 2012 R3 без CU
Теги
aif, ax2012, service

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
kamalblogs: AIF: Testing Document services surpassing the AIF setup – Dynamics AX 2012 Blog bot DAX Blogs 0 05.11.2013 21:11
AIF: Microsoft Dynamics AX Services and Windows Azure Service Bus Blog bot DAX Blogs 0 24.07.2013 03:13
AIF: How to serialize int/real properties with 0/0.00 values via AIF outbound integration Blog bot DAX Blogs 0 08.05.2012 04:13
daxdilip: How to: Configure Dynamics AX AIF Services to listen for SSL Requests (https) Blog bot DAX Blogs 0 23.01.2011 10:12
Dianne Siebold: AIF Top Ten Blog bot DAX Blogs 1 22.04.2008 11:19
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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