我似乎得到以下的错误,当我试着接一个远程Java class(春在这种形势)从Flex/凯恩的应用程序。我疯狂的时刻想看看什么是错的-任何帮助,将不胜感激-谢谢迈克

**Error: C0007E: RemoteObject not found for mycomponentsService
    at RemoteObjects/getService()
    at com.adobe.cairngorm.business::ServiceLocator/getRemoteObject()
    at com.nomura.dashboard.client.business::DashBoardDelegate()**

我所有的配置文件如下:

凯恩-BusinessDelegate.作为

this.service = ServiceLocator.getInstance().getRemoteObject("**mycomponentsService**");

凯恩服务。单

mx:RemoteObject id="mycomponentsService" 
                destination="remotecomponentService" 
                showBusyCursor="true">

春在这种形势的-application-config.xml

flex:remote-service ref="remotecomponentService" 

bean id="remotecomponentService" 
     class="com.mycompany.dashboard.server.dao.ComponentsDAO"

春在这种形势的-services-config.xml

channel-definition id="myamf" class="mx.messaging.channels.AMFChannel"
endpoint url="http://localhost:8080/dashboard-server/spring/messagebroker/amf" 
class="flex.messaging.endpoints.AMFEndpoint"

的web.xml 还包含弹簧参考文献-看看下面

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4">

<!-- The front controller of this Spring Web application, responsible for handling all application requests -->
<display-name>dashboard-server</display-name>

<servlet>
    <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring/*-config.xml</param-value>
    </init-param>

    <load-on-startup>1</load-on-startup>
</servlet>

<!-- Map /spring/* requests to the DispatcherServlet -->
<servlet-mapping>
    <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
    <url-pattern>/spring/*</url-pattern>
    </servlet-mapping>
</web-app>
有帮助吗?

解决方案

我们可以看看你的web.xml 还好吗?我惊讶地看到这个词 "春天" 在终点的网址。我的终点已经总是看起来像

url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf"

E.g.:我认为你的services-config.xml 应该看起来更像这样。

    <channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
         <endpoint url="http://{server.name}/dashboard-server/messagebroker/amf"
                   class="flex.messaging.endpoints.AMFEndpoint"/> 
    </channel-definition>

我还建议不硬编码结束点URL这么多。只是去与

    <channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
        <endpoint class="flex.messaging.endpoints.AMFEndpoint"
          url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" /> 
    </channel-definition>

更新:

好的,那你的web.xml 看起来确定,作为不具有 spring 在你的网址。我不是看在你的春配置文件(文件application-config.xml)是弹簧URL映射。例如,在我的弹簧的配置文件,除豆的定义,有的映射。E.g.:

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <value>
            /histogram/**=bean.HistogramController
            /counter/**=bean.CounterController
        </value>
    </property>
</bean>

<bean id="bean.HistogramController" class="ch.comp.app.HistogramXportController"  />
<bean id="bean.CounterController"   class="ch.comp.app.CounterXportController"    />

(I有一个的应用程序,这是弹簧的基础,另一个采用这种形势,但不是两个...所以我可能会丢失的东西。这就是说,我在问什么仍然应该是有效的。在理论上。但把它用一粒盐。)

也许有一些超级基本调试的顺序。你可以检查看看如果电话给你的服务器正在返回 HTTP 404 或不在这些问题终点?有几种方法可以做到这一点:

  • 检查访问的日志 GET /dashboard-server/spring/messagebroker/amf.什么是HTTP status code对这些请求? (免费、容易,没有新的工具。)
  • 如果您使用的火狐如浏览器,加入 篡改数据 插头。你没有篡改数据,但它显示了你,什么是,什么是返回的,所有HTTP头。
  • 使用一个完整的在闪/Flex为导向的协议嗅探工具,如 查尔斯Web调试代理.

这将非常有助于缩小问题,要知道如果这些要求均未能在通信栈。

其他提示

我在下面附着的web.xml。在词“春”的条款 - 我使用的需要“春天里”是有标准的BlazrDS / Spring集成WAR文件。豆ID = “remotecomponentService” 是实际上可以一个Spring bean。

您与BlazeDS的/春WAR甚至说我可以用上面的解决方案?

在web.xml中还包含弹簧引用 - 见下文

<web-app version="2.4">
<display-name>dashboard-server</display-name>
<servlet>
    <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring/*-config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<!-- Map /spring/* requests to the DispatcherServlet -->
<servlet-mapping>
    <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
    <url-pattern>/spring/*</url-pattern>
    </servlet-mapping>
</web-app>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top