Невозможно получить доступ к веб-службе AIF с помощью клиента SOAP
Я создал тестовый проект с таблицами, классами контрактов на данные / сервисы и сервисом и группой сервисов следующим образом:
После развертывания я даже могу получить доступ и просмотреть данные GetEntityList с помощью консольного приложения.Net
ServiceReference1.
EntityServiceClient _Client = new ServiceReference1.EntityServiceClient();
ServiceReference1.
CallContext _CallContext = new ServiceReference1.CallContext();
_CallContext.Company =
"dat";
ServiceReference1.
CustomEntityDataContract[] _entityList = _Client.GetEntityList(_CallContext);
// ColorServiceGroup.ColorDC _Dc ;
foreach (ServiceReference1.CustomEntityDataContract _Dc in _entityList)
{
Console.WriteLine(_Dc.EntityName);
}
Console.ReadKey();
Проблема в том, что мне нужно получить к нему доступ с помощью клиента SOAP, пытался создать много сообщений конверта SOAP, но не смог просмотреть данные службы. Я думаю, что я могу упустить правильные теги аутентификации в заголовке SOAP, о которых я понятия не имею, укажите плз.
Заголовок, который я пробовал до сих пор, выглядит так:
<s:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:s="http://www.w3.org/2003/05/soap-envelope">
<s:Header>
<a:Action s:mustUnderstand="1">http://schemas.microsoft.com/dynamics/2008/01/services/EntityService/GetEntityList</a:Action>
<h:CallContext i:nil="true" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:h="http://schemas.microsoft.com/dynamics/2010/01/datacontracts" />
<a:ReplyTo>
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
</s:Header>
<s:Body>
<EntityServiceGetEntityListRequest xmlns="http://tempuri.org" />
</s:Body>
</s:Envelope>
ОБНОВЛЕНИЕ: Как я уже упоминал, я могу получить доступ к веб-службе с помощью консольного приложения.Net, но он также не работает, когда я использую инструмент командной строки Visual Studio> WCFTestClient > Добавить службы. Он не позволяет добавить сервис и выдает следующую ошибку:
Тип или имя пространства имен "Приложение" не существует в пространстве имен "Microsoft.Dynamics.Ax" (отсутствует ссылка на сборку
Любая помощь будет высоко оценен.
1 ответ
Устаревшая методология взаимодействия напрямую с SOAP, вместо этого теперь она успешно используется с консольным приложением.NET путем добавления ссылки на сервис. Можно получить, вставить записи.