CXF - Java server / C# client : RequestSecurityToken

Un forum dédié aux autres projets de l'Apache Software Foundation.

Modérateur : Modérateurs

vladostivistic
Nouveau membre
Messages : 1
Inscription : jeu. 02 juil. 2009, 10:45

CXF - Java server / C# client : RequestSecurityToken

Messagepar vladostivistic » jeu. 02 juil. 2009, 10:51

Bonjour,

J'ai mis en place aujourd'hui un service web sur un serveur java en utilisant CXF. Celui ci marche correctement, ainsi que son client java.

Voici le web service :

Code : Tout sélectionner

@WebService
public interface HelloWorld {        
    List<Contract> serviceGetListContrat();
    List<Person> serviceGetListPerson();
}


Code : Tout sélectionner

@WebService(endpointInterface = "XXX.WebService.HelloWorld",
            serviceName = "HelloWorld")
public class HelloWorldImpl implements HelloWorld { 
     
   public List<Contract> serviceGetListContrat() {
      ManageList mList = ManageList.getInstance();   
      return mList.getListContratBDD();
   }
   
   public List<Person> serviceGetListPerson() {
      ManageList mList = ManageList.getInstance();   
      return mList.getListPersonBDD();
   } 
}


Du coté C#, je bloque à un certain point :

Pour le moment, j'ai ajouté une référence de service à l'adresse : http://localhost:9000/helloWorld?wsdl et j'appelle mon service de la façon suivante :

Code : Tout sélectionner

 EndpointAddress endpointAdress = new EndpointAddress("http://localhost:9000/helloWorld");
            ServiceReference.HelloWorldClient hw = new ServiceReference.HelloWorldClient(new WSHttpBinding(), endpointAdress);


Je ne suis pas sur de l'utilisation de : WSHttpBinding(), peut être existe il une autre variable pour cela.

et enfin : je souhaite récupérer ma liste de contract mais je souleve une ProtocolException.

Code : Tout sélectionner

 ServiceReference.contract[] answerService = hw.serviceGetListContrat();


Exception coté Client :

Code : Tout sélectionner

Le type de contenu text/xml; charset=utf-8 du message de réponse ne correspond pas au type de contenu de la liaison (application/soap+xml; charset=utf-8). Si vous utilisez un codeur personnalisé, vérifiez que la méthode IsContentTypeSupported est implémentée correctement. Les premiers 327 octets de la réponse étaient : « <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>Message part {http://schemas.xmlsoap.org/ws/2005/02/trust}RequestSecurityToken was not recognized.  (Does it exist in service WSDL?)</faultstring></soap:Fault></soap:Body></soap:Envelope> ».


Coté serveur :

Code : Tout sélectionner

1 juil. 2009 17:38:18 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Message part {http://schemas.xmlsoap.org/ws/2005/02/trust}RequestSecurityToken was not recognized.  (Does it exist in service WSDL?)
   at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:184)
   at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
   at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
   at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:302)
   at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:265)
   at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
   at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
   at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
   at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
   at org.mortbay.jetty.Server.handle(Server.java:326)
   at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
   at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
   at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
   at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
   at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
   at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
   at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)


Si jamais quelqu'un a une idée sur la provenance de ce problème je vous en remercie d'avance :)

Cordialement
Nicolas

rno
Membre
Membre
Messages : 10
Inscription : jeu. 23 juil. 2009, 22:42

Re: CXF - Java server / C# client : RequestSecurityToken

Messagepar rno » jeu. 23 juil. 2009, 22:48

Bonjour,

Je ai le même problème avec le client et le serveur en Java.
J'ai généré le code serveur et client à partir d'un wsdl.
J'ai juste modifié le serveur et le client pour qu'il publie le service sur http://localhost:9000/monservice et non pas sur l'URL où j'ai extrait le wsdl
Et j'obtiens la même erreur ...

rno


Revenir vers « Projets d'apache.org »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité