0

我正在尝试使 Granite Data Services 和 REST 服务在单个 Web 服务器中工作。目标是拥有一个支持 GraniteDS 类映射和 Rest 请求的服务器应用程序。

这些项目单独工作,但是当我将 web.xml 文件合并在一起并通过在相同路径中复制和粘贴类和配置将所有内容包装到一个项目中时,我在 Flex 请求中得到以下问题:

[RPC Fault faultString="[MessagingError message='Destination 'userService' either does not exist or the destination has no channels defined (and the application does not define any default channels.)']" faultCode="InvokeFailed" faultDetail="Couldn't establish a connection to 'userService'"]
    at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::invoke()[C:\autobuild\3.x\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:333]
    at mx.rpc.remoting::Operation/http://www.adobe.com/2006/flex/mx/internal::invoke()[C:\autobuild\3.x\frameworks\projects\rpc\src\mx\rpc\remoting\Operation.as:247]
    at mx.rpc.remoting::Operation/send()[C:\autobuild\3.x\frameworks\projects\rpc\src\mx\rpc\remoting\Operation.as:219]
    at Function/http://adobe.com/AS3/2006/builtin::apply()
    at mx.rpc::AbstractService/http://www.adobe.com/2006/actionscript/flash/proxy::callProperty()[C:\autobuild\3.x\frameworks\projects\rpc\src\mx\rpc\AbstractService.as:353]
    at test/___test_Button1_click()[/Users/mkahler/Documents/Adobe Flash Builder 4.6/Comp3.6/src/test.mxml:11]

我的 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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>NeoHermes</display-name>

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/spring/app-config.xml</param-value>
  </context-param>

  <listener>
    <listener-class>de.neo7even.neohermes.utils.AppServletContextListener</listener-class>
  </listener>

  <listener>
    <listener-class>org.granite.config.GraniteConfigListener</listener-class>
  </listener>

  <filter>
    <filter-name>AMFMessageFilter</filter-name>
    <filter-class>org.granite.messaging.webapp.AMFMessageFilter</filter-class>
  </filter>

  <filter-mapping>
    <filter-name>AMFMessageFilter</filter-name>
    <url-pattern>/graniteamf/*</url-pattern>
  </filter-mapping>

  <servlet>
    <servlet-name>AMFMessageServlet</servlet-name>
    <servlet-class>org.granite.messaging.webapp.AMFMessageServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>AMFMessageServlet</servlet-name>
    <url-pattern>/graniteamf/*</url-pattern>
  </servlet-mapping>

  <servlet>
    <servlet-name>jersey-serlvet</servlet-name>
    <servlet-class>
            com.sun.jersey.spi.container.servlet.ServletContainer
        </servlet-class>
    <init-param>
      <param-name>com.sun.jersey.config.property.packages</param-name>
      <param-value>de.neo7even.neohermes.endpoint.rest.services</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>jersey-serlvet</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping>

</web-app>
4

1 回答 1

0

尝试将 AMFMessageServlet 的 load-on-startup 值设置为 2

于 2014-04-24T06:36:10.607 回答