سؤال

I am trying to make Granite Data Services and REST services work inside a single web server. The goal is to have a Server Application that supports GraniteDS class mappings and Rest requests.

The projects are working separetedly but when I merge the web.xml files together and wrap everything into one project by copying and pasting classes and configs in the same paths I get the following Issue on a Flex request:

[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]

My web.xml looks like :

<?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>
هل كانت مفيدة؟

المحلول

Try setting the value of load-on-startup of the AMFMessageServlet to 2

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top