zoukankan      html  css  js  c++  java
  • [AX]AX2012激活HTTP适配器AIF端口提示错误“The deployment web site was not found for port”

    在AX2012中AIF中新建了一个使用HTTP适配器的Inbound port,在试图激活这个端口时出现错误:

    “The deployment web site was not found for port: WebSalesOrderRead”

    这里WebSalesOrderRead是这个入站端口的名称。使用HTTP适配器的首要条件是要安装Web service on IIS组件,这一步当然已经成功完成,在System administration > Setup > Services and Application Integration Framework > Web sites下已经成功生成相应的记录:

    Name: DAX-MicrosoftDynamicsAXAif60

    Virtual directory share path: \\DAX\MicrosoftDynamicsAXAif60

    URL: http://DAX/MicrosoftDynamicsAXAif60/

    这是安装完Web service on IIS自动添加的一个站点记录,未做任何修改,DAX是服务器的名称,在这个form上使用“Validate”验证这个站点也是成功的,消息提示站点已找到且可读可写等。但是在发布HTTP端口时却找不到站点确实有点奇怪。搜索发现也有人有类似的问题:https://community.dynamics.com/product/ax/f/33/t/65838.aspx,按照帖子的内容验证了相关目录的权限后重试,问题依旧;卸载Web service on IIS组件后重新安装,也是同样的错误。继续google,终于在这篇讨论(http://community.dynamics.com/product/ax/f/33/p/84342/187837.aspx)中找到了答案,解决办法很简单,就是上面的URL多了一个“/”,真的是无语啊,把URL修改成“http://DAX/MicrosoftDynamicsAXAif60”后再次激活端口成功!

    这个错误是怎么产生的呢?在 \Classes\AifServiceDeployer\getIISDeploymentPath()我们找到答案,在这个函数中首先调用webSiteUrl = AifWcfHttpAdapter::getWebSiteUrl(inboundChannel.TransportAddress, inboundPortName)从我们配置的端口URI得到相应的站点地址,端口的URI为“http://DAX/MicrosoftDynamicsAXAif60/WebSalesOrderRead/xppservice.svc”,所以得到的站点地址为“http://DAX/MicrosoftDynamicsAXAif60”,注意这里没有那个“/",然后要做的就是用这个站点地址从站点配置表中查找相应的记录:webSitesTable = AifWebSites::findForUrl(webSiteUrl)。而前面自动生成的站点URL后面有个“/”,两者不一样自然找不到相应的站点表记录,结果就是我们看到的错误了。

    发生错误的AX版本号为6.0.947.0,不知道有没有fix来自动判断有没有那个“/”。

  • 相关阅读:
    OpenCV——花环生成函数
    机器学习 Regularization and model selection
    OpenCV——PS 滤镜算法之极坐标变换到平面坐标
    OpenCV——PS 滤镜算法之平面坐标到极坐标的变换
    PS 滤镜— — 万花筒效果
    OpenCV——高斯模糊与毛玻璃特效
    PS 滤镜— —扇形warp
    OpenCV——旋转模糊
    使用zlib实现gzip格式数据的压缩和解压
    PS 滤镜— —水波效果
  • 原文地址:https://www.cnblogs.com/duanshuiliu/p/2880875.html
Copyright © 2011-2022 走看看