01.12.2009, 18:44 | #1 |
NavAx
|
AIF: Failed to establish connection при попытке использовать веб-службу
AX 4.0 SP2.
Всё настроено по мануалу, службы публикуются, WSDL показывает, на саму службу заходит. Но. При попытке отправить запрос к службе с сервера, на котором крутится внешний сайт, и который не входит в домен, с указанием в SourceEndPointUser SOAP сообщения логина/пароля пользователя, который заведен в Аксапте, член группы Admins (т.е. имеет доступ к Business Connector), указан пользователем в endpoint на запрашиваемый action (сейчас там вообще вся группа Admins), выдает в XML SOAP ошибку в и пишет в журнал событий на сервере ошибки ниже. Я уже переустановил .NET Connector вместе с AIF, прошел все шаги настройки, описанные в доке "Configure AIF for data exchange" в разделе "Setting Up an Inbound Web Service Exchange" но хоть убей, не могу продвинуться дальше. Кто-нибудь вообще это поделие (Inbound Web Service) использует наружу? В какой бубен стукнуть еще? Ошибка: soap:ServerServer was unable to process request. ---> Вы не можете войти в Microsoft Dynamics AX. Сведения об ошибке: Failed to establish connection.. Для получения дополнительных сведений см. просмотр событий веб-сервера или обратитесь к администратору. В логе: При обработке запроса http://testserv/DynamicsWebService/ItemService.asmx и действия readItem веб-службы произошла ошибка. Сведения об ошибке: Вы не можете войти в Microsoft Dynamics AX. Сведения об ошибке: Failed to establish connection.. Для получения дополнительных сведений см. просмотр событий веб-сервера или обратитесь к администратору. Возможные причины отказа во входе в систему: (1) Текущий пользователь не является допустимым пользователем Windows. (2) Пользователь не настроен в Microsoft Dynamics AX. (3) Пользователь не включен в Microsoft Dynamics AX. (4) Удостоверение группы приложений IIS должно быть запущено как пользователь прокси-сервера Business Connector. (5) Пользователь прокси-сервера Business Connector не был настроен в Microsoft Dynamics AX на вкладке Администрирование > Настройка > Безопасность.. **Исключение:** Сообщение: Failed to establish connection.Трассировка стека: at Microsoft.Dynamics.BusinessConnectorNet.Axapta.Logon(BC_PROXY_ACCOUNT_INFO* pBCProxyAccountInfo, String company, String language, String objectServer, String configuration) at Microsoft.Dynamics.BusinessConnectorNet.Axapta.LogonUsingBCProxyAccount(_SEC_WINNT_AUTH_IDENTITY_W* pImpersonatedUserAccount, NetworkCredential bcProxyCredentials, String company, String language, String objectServer, String configuration) at Microsoft.Dynamics.BusinessConnectorNet.Axapta.LogonAs(String user, String domain, NetworkCredential bcProxyCredentials, String company, String language, String objectServer, String configuration) at Microsoft.Dynamics.IntegrationFramework.WebService.IntegrationProcessor.SubmitMessage(String aifMessage).
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты... Последний раз редактировалось Maximin; 01.12.2009 в 18:46. |
|
01.12.2009, 21:45 | #2 |
Модератор
|
Application pool и security на каталоге IIS с вебсервисом как настроены?
__________________
-ТСЯ или -ТЬСЯ ? |
|
02.12.2009, 01:42 | #3 |
Участник
|
Конкретного решения у меня нет, но как вариант, можете глянуть:
1) Какой Binding выбран в Services > Configure > Выбрать нужный сервис > Endpoints > (Empty name) > Binding configuration - если Вы ничего не меняли, то там будет basicHttpBindingWindowsAuth, его желательно заменить на другой, с типом wsHttpBinding - который предварительно нужно создать в Bindings каталоге. Последний позволяет подсоединяться к Аксапте, используя разные типы соединений, вроде :-) 2) Чтоб пользователь Active Directory (обычно Business Connector user), который указан в Application Pool'e (в поле Identity), был членом группы IIS_WPG. |
|
02.12.2009, 13:53 | #4 |
NavAx
|
Application Pool настроен по мануалу - на пользователя, использующегося для олицетворения - AxBCProxy. Пользователь - простой Domain User, как в мануале, входит в локальную группу IIS_WPG.
NTFS Security на каталоге DynamicsWebService и ниже - стандартная, права для Users, Domain Users - Read, Read&Execute, List Folder Contents, у группы IIS_WPG - те же, у аккаунта AOS (NETWORK SERVICE) и группы Dynamics AX Web Service Administrators - Full Control. Подробность, возможно, важная. Помимо Windows Authentication, в Directory Security на IIS включен метод доступа Basic Authentication, anonymous access выключен. erudit Насчет п. 1 "Services > Configure > Выбрать нужный сервис > Endpoint..." это, видимо, из 2009. В 4ке такого раздела меню "Services" вообще нет и для Endpoint никакого Binding configuration тоже не существует.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты... |
|
04.12.2009, 11:53 | #5 |
NavAx
|
Похоже на то, что AIF web services требуют только Windows аутентификации.
Попытка использовать любую другую (утверждение в состоянии проверки) приводит к тому, что аксаптовский .Net proxy не может провести сопоставление пользователя, аутентифицировавшегося в IIS, пользователю из Аксапты. По крайней мере, это верно для Basic аутентификации. Осталось попробовать digest... Кстати, интересующимся, по методам аутентификации есть хорошая статья. http://www.devx.com/codemag/Article/16762/0/ ".NET Web Services Security" by Juval Löwy
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты... |
|