IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Declaration de deux dispatcherServlet [Web Services]


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 13
    Par défaut Declaration de deux dispatcherServlet
    Bonjour,

    Je ne sais pas si je suis dans le bon topic étant nouveau sur le forum.
    Mais je me lance :

    Grand débutant en spring, je cherche à savoir si l'on peut déclarer deux dispatcher servlet dans un fichier web.xml.
    (Un pour flex et un pour des web service REST avec controller spring...ect).
    Après une après midi de recherche j'en suis arrivé à celà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
     
      	<display-name>Spring BlazeDS Integration Samples</display-name>
     
     
    	    <context-param>
    			<param-name>contextConfigLocation</param-name>
    			<param-value>
    				/WEB-INF/spring/applicationContext-*.xml,
    				/WEB-INF/spring/applicationContextLoc-*.xml
    			</param-value>
    		</context-param>
     
    		 <listener>    
    	         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	    </listener>
     
          <!--############################# Spring BlazeDS Integration servlet #######################-->
          	<servlet>
     	    <servlet-name>flex</servlet-name> 
     	       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
      		   <load-on-startup>1</load-on-startup> 
            </servlet> 
                <servlet-mapping>
              <servlet-name>flex</servlet-name>
              <url-pattern>/messagebroker/*</url-pattern>
         </servlet-mapping> 
         
            
           <!--############################# ws Integration servlet ####################### -->
         <servlet>
     	    <servlet-name>WebService</servlet-name> 
     	       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      		   <load-on-startup>1</load-on-startup> 	
        </servlet>  
         <servlet-mapping>
              <servlet-name>WebService</servlet-name>
              <url-pattern>/*</url-pattern>
         </servlet-mapping>
        
     
         <welcome-file-list>
    		<welcome-file></welcome-file>
    	</welcome-file-list>
     
      </web-app>
    Le code est épuré dans le sens où j'ai isolé le problème.
    J'ai uniquement maintenue le code ou se porte le problème.
    En effet, les deux servlet ne semblent pas "coexister" car lorsque je commente la déclaration de ma servlet webService, ces web services ne sont évidemment plus accessible, mais l'appli web fonctionne avec visualisation des pages et du directory (sous glassfishv3)...ect.
    Et lorsque je dé commente cette déclaration, j'ai une page 404 mais les service web fonctionnent (xml,json).
    J'ai testé différentes configuration mais je suis à cours d'idées.
    Si quelqu'un à une idée, je suis preneur.
    Merci

  2. #2
    Membre expérimenté Avatar de DarkMolo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2006
    Messages : 207
    Par défaut
    Bonjour,

    Je ne suis pas certain , je crois que l'ordre d'apparition des balises servlet et servlet-mapping est important, donc il faudrait grouper tous les balises servlet avant les servlet-mapping, essaye ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
     
    	<display-name>Spring BlazeDS Integration Samples</display-name>
    	<context-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>
    			/WEB-INF/spring/applicationContext-*.xml,
    			/WEB-INF/spring/applicationContextLoc-*.xml
    		</param-value>
    	</context-param>
     
    	<listener>    
    		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	</listener>
     
    	<!--##### Spring BlazeDS Integration servlet #####-->
    	<servlet>
    		<servlet-name>flex</servlet-name> 
    			<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    			<load-on-startup>1</load-on-startup> 
    		</servlet> 
     
    	<!--##### ws Integration servlet ##### -->
    	<servlet>
    		<servlet-name>WebService</servlet-name> 
    		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    		<load-on-startup>1</load-on-startup> 	
    	</servlet>
     
     
    	<!--##### Spring BlazeDS Integration servlet-mapping #####-->
    	<servlet-mapping>
    		<servlet-name>flex</servlet-name>
    		<url-pattern>/messagebroker/*</url-pattern>
    	</servlet-mapping> 
    	<!--##### ws Integration servlet-mapping ##### -->
    	<servlet-mapping>
    		<servlet-name>WebService</servlet-name>
    		<url-pattern>/*</url-pattern>
    	</servlet-mapping>
     
    	<welcome-file-list>
    		<welcome-file></welcome-file>
    	</welcome-file-list>
     
    </web-app>

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 13
    Par défaut
    DarkMolo,

    Je viens d'essayer et apparemment cela ne change rien à mon problème, dommage.

    Merci pour ton aide !

    Je vais continuer à chercher.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 13
    Par défaut Trouvé
    Ok !

    Je pense avoir résolu mon problème.
    En fait, il faut aussi faire la distinction entre deux url-pattern dans la servlet pour flex comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:flex="http://www.springframework.org/schema/flex"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="
    		http://www.springframework.org/schema/beans
    		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    		http://www.springframework.org/schema/flex 
    		http://www.springframework.org/schema/flex/spring-flex-1.0.xsd">
     
    	<flex:message-broker services-config-path="classpath*:services-config.xml">
    		<flex:message-service
    			default-channels="my-amf,my-streaming-amf,my-longpolling-amf,my-polling-amf" />
    	</flex:message-broker>
     
    	<!-- Maps request paths at '/*' to the BlazeDS MessageBroker -->
        <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
           <property name="mappings">
            <value>
                /flex/*=_messageBroker <!-- en rapport avec la servlet flex -->
               /webService/MonWebServiceController/*=MonWebService <!-- en rapport avec la servlet webservice -->
            </value>
           </property>
         </bean>
     
    </beans>
    Sachant que dans le servie-config on a la declaration du channel comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        <channels>    
            <channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">    
            	<endpoint url="http://{server.name}:{server.port}/{context.root}/flex/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
    		</channel-definition>
        </channels>
    En tout cas cela à l'air de marcher.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème declaration entre deux class
    Par info_sara dans le forum Débuter
    Réponses: 7
    Dernier message: 10/05/2012, 06h26
  2. Probleme d'une meme declaration dans deux classes
    Par zouari.rami dans le forum Débuter
    Réponses: 1
    Dernier message: 04/12/2010, 11h25
  3. Declarer une dll Delphi ?
    Par DelphiCool dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/07/2002, 10h07
  4. soustraire deux dates ?
    Par joejoe dans le forum SQL
    Réponses: 2
    Dernier message: 19/07/2002, 15h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo