我可以在生成模式时禁用 HTTP 服务的测试吗?

Can I disable the testing of an HTTP Service when generating a schema?

当我使用 REST API 为包含 HTTP 服务的表单生成模式时,Orbeon 检查是否允许它访问该服务。请参阅下面的日志消息:

XFormsServer:214 - checking whether request dispatcher submission is allowed {resource: "https://mycompany.com/mytest-api/v1/clients", noscript: "false", is asynchronous: "false", container type: "servlet", norewrite: "false", local-submission-forward: "true", local-submission-include: "false"}

这会导致一些问题:

  1. 在这种情况下,调用服务是由我的应用程序作为系统调用完成的。系统未被授予访问该服务的权限,这会导致记录 403 Forbidden 错误。这很烦人,因为当确实有 none 时看起来有问题。在 运行 时,用户将可以访问该服务。
  2. 如果我确实授予系统访问该服务的权限,那么它会在没有任何参数的情况下调用该服务,并且该服务 return 有大量记录。 Orbeon 然后用大量 xf:actionxf:insert 处理它们。这使用了很多 CPU 并且需要几分钟才能完成。当然,如果没有指定过滤器参数,被调用的服务可能 return 400 Bad Request,但目前没有。

无论哪种情况,此检查都会导致问题。有没有办法禁用它?

我不认为现在可以禁用它。我输入 issue #3200 来跟踪这个,我们可以在那里继续讨论。