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

Services Web Java Discussion :

[Java-CXF] Erreur "Request was not Recognized"


Sujet :

Services Web Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut [Java-CXF] Erreur "Request was not Recognized"
    Bonsoir,

    je me tourne vers vous après une journée complète de recherche car je ne vois vraiment pas le problème !

    J'essaye de développer un nouveau webservice pour un projet qui en contient déja un mais pour un datasource différent.

    J'ai donc écris un wsdl en m'inspirant de celui existant. Mon wsdl contient cet élément

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	<xs:element name="consultOrderRequest">
    		<xs:complexType>
    			<xs:sequence>
              		<xs:element name="storeCode" type="integer3type" minOccurs="1" maxOccurs="1" />
              		<xs:element name="orderCode" type="integer6type" minOccurs="1" maxOccurs="1" />
    			</xs:sequence>        
    		</xs:complexType>
    	</xs:element>
    que j'ai essayé de séparée en un élément + un complex type sans corriger mon problème.

    J'ai ensuite rajouter la nouvelle base dans mon fichier de datasource.
    Dans mon applicationContext j'ai :
    -Déclarer un bean pour datasource
    - Une session factory qui utilise ce datasource
    - Un transactionManager qui utilise mon datasource et ma session factory
    - Mon DaO qui utilise ma session factory
    - Le bean de ma classe d'impl de service avec ses propriétés
    - un advice pour le transactionPointcut existant (aop:pointcut)


    Dans mon beans.xml:
    -bean avec l'impl service
    -factory pour les classes utilisés
    - un second jaxws:endpoint pour ma nouvelle grappe de service


    Web.xml:
    - nouveau servlet et son mapping d'url pour accéder aux nouveau services.


    Je peux générer mes sources à partir de mon wsdl, tout se déroule bien et tous les types nécessaires sont présents

    Je compile le projet et le déploie sur Jboss sans soucis.

    Ma nouvelle grappe est bien publiée, je peux en récupérer le wsdl, cependant, dès que je veux tester le service sous soapUI J'obtiens le message suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Message part {http://mconsultBook.webservices.monsite.com/}consultOrderRequest was not recognized.  (Does it exist in service WSDL?)
    Et je ne vois pas du tout ce que j'ai pu faire de mal au niveau config sachant que la classe existe et se trouve bien dans le bon package (générée à partir du wsdl)

    Est ce que quelqu'un a déja eu un message de genre et saurais comment le résoudre s'il vous plait ?


    Par avance, merci beaucoup !

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    J'ai fini par résoudre le problème !

    J'ai revu toute l'architecture de l'application et il s'avère que dans ma classe d'implémentation de serveur, je n'avais pas extend la bonne classe !

    Pour moi cette erreur n'arrive qu'en cas de soucis dans l'architecture de l'application, faire attention aux différentes interfaces et implémentation du projet !

    J'ai maintenant un autre soucis mais niveau mapping hibernate !

    J'ai mon fichier de mapping

    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
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     
     
    <hibernate-mapping package="com.site.service.consultationcommandes.bean" >
     
    	 <!-- Mapping entre la classe OrderWS et la table ligne_cmd -->	
    	 <class name="OrderWS" table="cmd" lazy="false">
     
    			<!-- Mapping du numero de commande -->
    	 		<id name="numcde" type="integer" column="numcmd"/>	 
    	 		<!-- Mapping du numero de ligne -->
    			<property name="num" type="integer" column="numligne"/>
    	 		<!-- Mapping du numero de ligne -->
    			<property name="refArt" type="integer" column="ref"/>		
    			<!-- Mapping des propriétés simples -->				
    			<property name="quantity" type="integer" column="qte"/>
    			<!-- Mapping du topetat -->
    			<property name="etat" type="integer" column="etat"/>
     
    	 		<!-- Les autres propriétés de la table ligne_cmd ne sont pas utilisées -->
    	 </class>
    </hibernate-mapping>

    J'ai ajouté au mapping dans la definition de ma sessionFactory qui est bien utilisé, un de mes autres mapping fonctionne

    La classe existe bien au bon endroit et possède tout ses getter/setter

    Au niveau de mon DaO j'ai écrit ma requête pour extraire une liste de mes commandes


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQLQuery query= sessionFactory.getCurrentSession().createSQLQuery(
    					"select order1 from OrderWS order1 " +
    					"WHERE order1.numcde=:numOrder and order1.etat in (2,6,7) ");
    			query.setParameter("numOrder", numOrder);
    			orderList=(ArrayList<OrderWS>) query.list();

    Le soucis c'est qu'au moment d'appeler cette requête, j'obtiens une erreur m'indiquant que la table OrderWS n'existe pas ou que je n'ai pas les droits dessus, ce que je ne comprends pas car l'idée ici est d'utiliser le mapping pour créer ma liste de commandes. Je me suis inspiré d'une des autres requêtes du DaO qui elle fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    			order = (BonImpl) sessionFactory.getCurrentSession().createQuery(
    					"select order1 from BonImpl order1  " +
    					"WHERE order1.numCom=:num")
    			.setParameter("num", num).uniqueResult();
    Est ce que quelqu'un a une idée ?
    Je me demande si je ne devrais pas rouvrir un topic coté hibernate car le problème n'est plus vraiment le même ! Si c'est le cas, je m'excuse pour avoir posé la question dans le topic originel.

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/08/2010, 08h48
  2. Erreur de Compilation : file not recognized File truncated
    Par doommick31 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 29/09/2009, 14h00
  3. Erreur String was not recognized as a valid DateTime.
    Par andre99 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 27/01/2009, 20h34
  4. The expression prefix 'SPUrl' was not recognized - WSS
    Par lthomas dans le forum SharePoint
    Réponses: 1
    Dernier message: 14/04/2008, 15h58
  5. Réponses: 3
    Dernier message: 23/01/2006, 16h29

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