【问题标题】:Axis2 POJO Web ServicesAxis2 POJO Web 服务
【发布时间】:2010-05-21 15:24:40
【问题描述】:

我有一个 POJO,它被部署为 Axis2 - Tomcat 组合中的 Web 服务。向服务提供运行时配置的最佳方式是什么?所有与服务相关的配置参数都在 XML 文件中 -

  1. 保存此配置文件的最佳位置是什么?请注意,我希望服务完全独立。

  2. 如何获取服务主页的物理位置,即 Tomcat 6.0\webapps\axis2\WEB-INF\services\MyService?

  3. Axis2 有多好,即选择 Axis2 作为 Web 服务平台是不是一个不错的选择?该项目具有激进的时间表(有什么新功能?:))所以真的不希望深入研究合同优先等内容。需要一个快速的解决方案,我可以在其中放入 POJO 并将其用作 Web 服务。

一如既往,非常感谢您的帮助!

【问题讨论】:

    标签: java axis2 pojo


    【解决方案1】:

    我使用 JNDI 来控制简单 Web 服务的运行时配置选项。如何配置 JNDI 取决于您使用的容器,Jetty/Tomcat 等。

    我嵌入 spring 并管理配置和其他持久对象的更复杂的项目。

    Axis2 是开发独立 Web 服务的好平台。我仍然建议先看一下合同第一的东西。它当然更复杂,但可以更好地控制客户端和服务器之间交换的 XML 消息。 Axis2 的巧妙之处在于您可以从 POJO 开始,然后再变得更复杂。

    【讨论】:

    • 谢谢马克。一旦建立了基础服务,肯定会先试一试合同。 Jndi 对于我们的 Web 服务来说太复杂了。我遇到了这个解决方案 - 使用类加载器从类路径读取配置文件并使用 commn conifg 解析 cml。让我们看看这是怎么回事......
    【解决方案2】:

    请注意,我希望服务完全独立。
    你的意思是你想把这个模块移动到其他容器上……不支持基于 TOMCAT 的目录结构……有点困难

    如果 Axis 托管问题仅与 TOMCAT 相关,那么使用配置的最佳方法是通过存储在 Java 包根目录中的属性 /XML 文件,并在启动 1 时使用启动 servlet 来读取属性文件

    context.getRealPath("") + "/WEB-INF/classes/abcd.xml" or context.getRealPath("") + "/WEB-INF/classes/abcd.propertyfile

    将其存储在基于键/值的哈希表中...进一步将哈希表存储在 Servletcontext 中。

    在任何需要的地方,通过将密钥传递给哈希表来获取值并使用它。

    但是,启动 servlet 应该只运行一次,方法是在 web-xml 中使用 Load on startup 标签 ...

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多