1

Weborb 構成ファイルを既存の Spring アプリにコピーしようとしましたが、何らかの理由で Spring サービスが WebOrb に公開されていません。

WebOrb コンソールにスプリング サービスが表示されず、サーバー メソッドを実行すると、スプリング ワイヤリングされていないサービスのインスタンスが取得されます。

このアプリはSpringアノテーションを多用していますが、次の方法で宣言されたサービスをヒットしようとしました(常に宛先として「servicesFacade」をヒットしようとしています):

@Service
public class ServicesFacade ...

@Service("servicesFacade")
public class ServicesFacade ...

<bean id="servicesFacade" class="com.mangofactory.grapevine.service.ServicesFacade" />

構成ステップを見逃したに違いありませんが、すべてを例と比較しましたが、それが何であるかはわかりません。

** 注 - web-orb フォルダーから他の jar をコピーしていません (特に、Spring jar を除外しました)。これは、Web アプリで動作する Spring 3.0 インストールが既に実行されているためです。これが原因でしょうか?

実行した手順:

%WEBORB_INSTALL% からコピー:

  • /webapp/WEB-INF/classes -> WEB-INF/classes
  • /webapp/WEB-INF/flex -> WEB-INF/flex
  • /webapp/WEB-INF/lib/weborb.jar & jdom-1.1.jar -> WEB-INF/lib

web.xml を次のように更新しました。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>Grapevine</display-name>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/applicationContext.xml
        </param-value>
    </context-param>
    <filter>
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    </filter>

    <filter>
        <filter-name>openSessionInViewFilter</filter-name>
        <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>openSessionInViewFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <listener>
        <listener-class>weborb.ORBServletContextListener</listener-class>
    </listener>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>grapevine</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>weborb</servlet-name>
        <servlet-class>weborb.ORBServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>rds</servlet-name>
        <servlet-class>weborb.rds.handler.FrontEndHttpServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>grapevine</servlet-name>
        <url-pattern>/app/*</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>weborb</servlet-name>
        <url-pattern>*.wo</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>rds</servlet-name>
        <url-pattern>/rds.wo</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

私の lib フォルダーには、次の春関連のクラスがあります。

org.springframework.aop-3.0.4.RELEASE.jar
org.springframework.asm-3.0.4.RELEASE.jar
org.springframework.beans-3.0.4.RELEASE.jar
org.springframework.context-3.0.4.RELEASE.jar
org.springframework.context.support-3.0.4.RELEASE.jar
org.springframework.core-3.0.4.RELEASE.jar
org.springframework.expression-3.0.4.RELEASE.jar
org.springframework.jdbc-3.0.4.RELEASE.jar
org.springframework.jms-3.0.4.RELEASE.jar
org.springframework.orm-3.0.4.RELEASE.jar
org.springframework.oxm-3.0.4.RELEASE.jar
org.springframework.security.config-3.0.3.RELEASE.jar
org.springframework.security.core-3.0.3.RELEASE.jar
org.springframework.security.web-3.0.3.RELEASE.jar
org.springframework.transaction-3.0.4.RELEASE.jar
org.springframework.web-3.0.4.RELEASE.jar
org.springframework.web.portlet-3.0.4.RELEASE.jar
org.springframework.web.servlet-3.0.4.RELEASE.jar
spring-flex-1.0.3.RELEASE.jar

どんな助けでも大歓迎です

マーティ

4

1 に答える 1

0

weborb-config.xml (WEB-INF/classes にあります) に次の行が含まれているかどうかを確認してください。

&lt;serviceInvoker&gt;weborb.handler.SpringBeanHandler&lt;/serviceInvoker&gt;

マーク

于 2010-12-16T14:47:52.767 に答える