GeneXus Ev3 U9 中离线应用程序中的 rest web 服务请求错误 404

Error 404 for rest webservice request in offline app in GeneXus Ev3 U9

我正在使用 Genexus Ev3 U9 开发离线 Android 应用程序,当我在设备中试用该应用程序时,我发现没有初始同步,即使我尝试在应用程序关闭时执行手动同步。 cat 日志显示向 URL 发出的请求类似于 http://192.168.12.17/MyAppSmartDevicesEnvironment/gxmetadata/MyApp.android.json 工作正常但是当应用程序试图获得这个 URL http://192.168.12.17/MyAppSmartDevicesEnvironment/rest/MyAppOfflineDatabase?fmt=json&event=gxchecksync returns 404 我在我的笔记本电脑上尝试了相同的 link 它是比如请求的资源不是由 GeneXus 创建的。

有什么问题吗?

加卡斯塔诺,

您生成的似乎是 .net,对吗?

如果是这样,可能是 iis rewrite 模块有问题。

无论如何,您可能会检查 gx 软件要求...

您的 IIS 上似乎无法 运行 REST 服务,如 Sandro 所说,请尝试安装 URLRewrite。 更多信息请见 http://wiki.genexus.com/commwiki/servlet/wiki?14575,Android%20-%20FAQ%20and%20Common%20Issues

实际上,您可能需要检查几件事。
当您访问 http://192.168.12.17/MyAppSmartDevicesEnvironment/gxmetadata/MyApp.android.json 时,您获得了数据,但这仅意味着虚拟目录已成功创建。 (这当然很好)

然后您需要检查 WCF 模块是否安装正确,为此您可以尝试转到 http://192.168.12.17/MyAppSmartDevicesEnvironment/MyAppOfflineDatabase.svc/rest 或知识库中的任何其他服务。这直接进入服务实施。 (你可以检查你的 web.config 文件以查看实际的重写规则)

如果可行,那肯定是 URL 重写问题,就像 Sandro 和 Guscarr 所建议的那样。

您可以从这里下载并安装该模块:http://www.iis.net/downloads/microsoft/url-rewrite