2

我正在使用 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 类型)
4

2 回答 2

0

尝试以下

        AX ax = new AX();//where AX=YourWebServiceClient

        ax.ChannelFactory.Credentials.UserName.UserName = @"domain\username";
        ax.ChannelFactory.Credentials.UserName.Password = @"password";

        CallContext context = new CallContext();
        context.Company = "YourCompany";

        Console.WriteLine(ax.YourServiceFunction(context));
于 2014-08-05T06:09:49.407 回答
0

您无法登录到 Microsoft Dynamics AX。检查 Web 服务器事件查看器以获取更多信息,或联系您的管理员。

也许您还没有被创建为 AX 用户?

还要检查 Administration\Setup\Security\System 服务帐户,尤其是“业务连接器代理”。

如果一切都失败了,请检查您的 Web 服务器的日志或联系您的系统管理员 :-)

于 2011-07-21T14:33:32.583 回答