Невозможно получить доступ к веб-службе 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 путем добавления ссылки на сервис. Можно получить, вставить записи.

Другие вопросы по тегам