我正在使用 AIF webservices 连接到 Microsoft Dynamics AX 2009。在 VS2010 中为服务生成代理,但是当我想使用生成客户端类连接到服务时,似乎我没有在系统中进行身份验证。
我什至尝试添加域用户/通行证并使用 Windows 身份验证,如下所示:
var binding = new BasicHttpBinding();
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.None;
binding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly;
var address = new EndpointAddress(new Uri("http://dynamicsserver/salesorderservice.svc"));
var client = new SalesOrderServiceClient(binding, address);
client.ClientCredentials.Windows.ClientCredential = new NetworkCredential("admin", "pass", "domain);
默认绑定是 HttpBinding,我正在尝试使用控制台应用程序连接到 AIF,该控制台应用程序使用同一台计算机上的 NetworkCredential 中指定的相同帐户运行。
应用程序连接到 Web 服务时出现以下错误:
System.ServiceModel.FaultException:您无法登录到 Microsoft Dynamics AX。错误详细信息:无法登录到 Microsoft Dynamics AX。有关详细信息,请查看 Web 服务器事件查看器,或联系您的管理员。 服务器堆栈跟踪: 在 System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime 操作,ProxyRpc& rpc) 在 System.ServiceModel.Channels.ServiceChannel.Call(字符串操作,布尔单向,ProxyOperationRuntime 操作,Object[] 输入,Object[] 输出,TimeSpan 超时) 在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime 操作) 在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage 消息) 在 [0] 处重新抛出异常: 在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) 在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 类型)