无法使用 SOAP 客户端访问 AIF Web 服务

Unable to access AIF web service using SOAP Client

我创建了一个包含表、data/service 合同 类 以及服务和服务组的测试项目,如下所示:

部署后,我什至可以使用 .Net 控制台应用程序访问和查看 GetEntityList 数据

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 header 中正确的身份验证标记,我不知道,请指定。

目前我试过的header是这样的:

<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 控制台应用程序访问 Web 服务,但是当我执行 Visual Studio 命令行工具 > WCFTestClient > 添加服务时它也不起作用。它不允许在那里添加服务并给出以下错误:

The type or namespace name 'Application' does not exist in the namespace 'Microsoft.Dynamics.Ax' (are you missing an assembly reference

任何帮助将不胜感激。

弃用了直接与 SOAP 通信的方法,现在通过添加服务引用成功地将其与 .NET 控制台应用程序一起使用。可以获取、插入记录。