发布具有相同 url 的不同服务并分别管理它们

publishing different services with same url and managing them separately

我们有 2000 多个业务方法,我们希望将其公开为 soap Web 服务。为此,我们决定将 cxf 与 apache camel 一起使用。我们想从同一个 url 发布所有这些服务,因为我们认为管理它们会更容易(特别是对于调用许多 Web 服务的客户)。但是我们也有一些要求,例如:

我的问题是,是否可以从同一个 url(同一个 SEI)发布所有服务并且能够提供所有这些要求。而且如果我们设法做到这一点,它会是一个好的且可扩展的解决方案吗?

method based log enabling

如果您的业务逻辑中有 2000 个方法,我猜您也有日志记录。您可以为您的网络服务定义多个记录器,并在您方便的时候在每个方法中使用

method based setting timeout

CXF 允许在 server endpoint configuration 处配置 ReceiveTimeout,因此如果您使用一个端点,那么所有方法的超时都将相同

method based mtom/base64 setting and etc.

MTOM 由 JAX-WS 服务器配置,启用或禁用它。此外,这些方法将有一个特定的 DataHandler 来支持它。一个端点意味着一种 MTOM 配置

在此 link 中,您可以看到 http-transport variables set by server. Other utilities like interceptors, bus or fault handlers are also configured by JAX-WS server. Check here 如果有任何感兴趣的

will it be a good and scalable solution?

如@kolossus 所述,2k 方法是一种奇怪的解决方案。我不认为你有性能问题,但它会难以开发和维护。认为您还可以提供一个内置的客户端,而不仅仅是 WSDL,它封装了几个端点