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ましたが、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>

必要なファイルの場所を強制します。この場合、「.. \」を使用して 1 レベル上に移動しました。これはweb.xmlで行われます

于 2015-08-11T19:01:08.290 に答える