|
28.10.2015, 17:36 | #1 |
Участник
|
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 Ах2012 R3 |
|
05.11.2015, 18:16 | #2 |
Участник
|
в двух словах - впоймал это же, что нашел.
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 |
Боец
|
Цитата:
Сообщение от 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 сервиса и попробую еще раз. Ед хотел обратить внимаие - речь идет не только о дата контрактах входящих но и о респонсах в инбоунд портах. Удачи, Виталий |
|
06.11.2015, 10:07 | #4 |
Участник
|
Цитата:
двух словах - впоймал это же, что нашел.
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 сервиса и попробую еще раз. Ед хотел обратить внимаие - речь идет не только о дата контрактах входящих но и о респонсах в инбоунд портах. 2) По второй ссылке тоже ходил, установил параметр как сказано, и даже, кажется, переразворачивал сервис - не помогло. Собственно я и решил поинтересоваться, может кто делал одну ServiceGroup с разными сервисами, которые могут принимать разные контракты и при этом нормально разворачиваться на IIS'е. Попробую еще поиграться с настройками, если появится время. |
|
13.11.2015, 01:02 | #5 |
Участник
|
У меня, к сожалению, задачка не терпит, поэтому рыл до тех пор пока не дошел до следующих выводов (дополнительно к написанному).
Inbound port и мы принимает некие дата контракты, и ответом отвечаем что мол получили или "что в ответ на Ваш запрос сообщаем" - все в общем стандартно. Другое дело что для унификаации ответов - сделали базовый дата контракт с ответом, и его расширяли в каждом конкретном случае. При использовании file адаптера или net.tcp - все работает - вопросов нет, а вот с HTTP адаптером пришлось откзаться от идеи делать наследование в респонсах. Версия 2012 R3 без CU |
|
Теги |
aif, ax2012, service |
|
|