0

我正在尝试使用 xfire 将现有的 Java 函数公开为 Web 服务。

我在我的 web.xml 中添加了这个:

<servlet>
        <display-name>XFireServlet</display-name>
        <servlet-name>XFireServlet</servlet-name>
        <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet
         </servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>XFireServlet</servlet-name>
        <url-pattern>/servlet/XFireServlet/*</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>XFireServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>

这是我的 services.xml:

<beans xmlns="http://xfire.codehaus.org/config/1.0">

  <service>
    <name>machine</name>
    <namespace>http://xfire.codehaus.org/machine</namespace>
    <serviceClass>com.amazon.lm.util.LMUtils</serviceClass>
  </service>  

</beans>

我已将services.xml文件放在META-INF/xfire目录下,当我尝试访问 localhost 获取 wsdl 文件时,我会FileNotFoundException说该文件META-INF/xfire/services.xml file不存在。

有人可以帮我吗?

4

2 回答 2

0

文档说该文件应该放在 META-INF/xfire 的“类路径中”。这意味着你想把它放在 /yourcontext/WEB-INF/classes/META-INF/xfire 而我猜你可能把它放在 /yourcontext/META-INF/xfire ?

于 2012-01-24T19:56:43.157 回答
0

尝试这个...

<servlet>
   <servlet-name>XFire</servlet-name>
   <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
   <init-param>
      <param-name>config</param-name>
      <param-value>../META-INF/xfire/services.xml</param-value>
   </init-param>
</servlet>

强制您需要的文件的位置。在这种情况下,我使用“.. \”上一级。这是在web.xml中完成的

于 2015-08-11T19:01:08.290 回答