【发布时间】:2013-09-25 11:37:39
【问题描述】:
最近我需要创建一个在 weblogic 服务器上运行的代理 java web 服务,该服务使用现有的 wcf 服务,然后公开它们的接口(这是我认为在 weblogic 服务器上“托管”wcf 服务的唯一方法是可能的)。
此服务的唯一作用只是充当代理(无附加功能)。
我需要能够在我的代理 Java Web 服务中公开与现有 wcf 服务中完全相同的接口。这样做的原因是,我有一个现有的客户端应用程序正在使用我的 wcf 服务 - 新的代理 java Web 服务必须兼容,因此客户端不需要进行任何更改。
实现这一目标的最佳方法是什么?是否可以?我在 Java 技术方面没有经验,非常感谢任何提示。
到目前为止,使用 JDeveloper,我已经成功地基于现有 wcf 服务的 wsdl 创建了 Web 服务数据控制 - 是否可以通过 Web 服务公开此类数据服务?
【问题讨论】:
-
也许 Apache CXF 文档可以有一个解决方案?检查cxf.apache.org/docs/how-do-i-develop-a-client.html 并搜索“JAX-WS 代理”它可能对您有帮助。
-
您应该能够按照您的要求进行操作。在 weblogic 端使用完全相同的 WSDL 并编写代码,以便在调用 weblogic Web 服务时,它会调用 WCF 服务。除非我误解了某些东西,否则客户永远不会知道其中的区别。
-
非常感谢@better_use_mkstemp。这似乎是最合乎逻辑的方式。
-
这基本上取决于您为什么希望 Weblogic 服务器看起来像托管此服务。如果您还希望其他服务使用相同的主机,则可以将 Apache Web 服务器设置为反向代理,以将特定的 Web 服务请求路由到 WCF 并将所有其他请求路由到 WebLogic 服务器。相反,如果您只需要一个代理,那么具有反向代理配置的 Apache Server 可能是比 WebLogic Server 更好的解决方案。
-
您可以将 JAX-WS Web 服务用于 Oracle WebLogic Server。如前所述,您可以开发客户端以使用基于 XML 的 Web 服务 (JAX-WS) 的 Java API 调用 WebLogic Web 服务。 Here 是 Oracle 提供的完整文档。它简单易懂。
标签: java wcf web-services proxy weblogic