Dynamics AX 2012 R2 外部程序运行在没有AD的环境(如PDA) 调用AX服务

    Reinhard对这个问题研究了很久,也查了一些资料,整理了三种解决方案。

1、准备一台虚拟机A,A加入到了AD活动域,可以操作AX。

  • PDA以远程桌面的方式,连接到虚拟机A。
  • 在虚拟机上运行定制的客户端(窗体大小、按钮、图标、控件等),操作AX。
  • 这样做的好处是,不用开发PDA上的客户端。
  • 而是开发一个桌面应用,该桌面应用根据PDA的屏幕大小和操作方式做了定制。

2、使用可信中介和声明用户。

  • 客户端机器C,可信中介机器B ,AX服务端 A。
  • 在AX上发布增强入站端口A.1,可信用户选项中,选择B机器的登录账户GuyB。
  • 在AX中,新建声明用户GuyC,给GuyC赋角色权限。
  • B机器上登录的AD活动域账户为 GuyB, 能操作AX 。
  • 在B上创建服务,服务中调用AX的服务A.1,发布服务B.1,供A调用。
  • C上的客户端以声明用户身份GuyC,调用B的服务。
  • 这样客户端机器C,通过可信中介B ,与AX通信,好处是将权限管理纳入到了AX中。

3、不使用可信中介和声明用户

  • 与方案2类似,只是简单的使用中介B,转发服务。权限不能纳入到AX中管理。

后续:后来Reinhard发现无论外部程序所在的电脑是有没有入域中都可以,只要将调用服务的时候设置正确的NetworkCredential即可。

posted @ 2014-05-10 11:49  Reinhard_Hsu  阅读(456)  评论(0编辑  收藏  举报