J'ai un service Web qui fonctionne correctement lorsque j'y accède à partir d'une application J2SE (de bureau). Pour accéder à ce service, je ne suis:client Web pour service Web
- générer des classes stub par liaison wsdl en utilisant l'outil wsimport java
puis-je créer un service en utilisant des classes générées et exécutez l'une des wsdl operations.It ressemble à ceci:
MyWebServiceService webService = new MyWebServiceService();
MyWebService port = webService.getMyWebServicePort();
webService.run ("XYZ");
Comme je suis triste, ça marche très bien quand je l'utilise dans une application autonome. Mais ... quand je tente d'accéder-service Web de la même manière, mais de servlet-client, en utilisant générés je talons rencontrer l'erreur suivante:
java.lang.ClassCastException: com.sun.xml.bind.v2.runtime.JAXBContextImpl cannot be cast to com.sun.xml.bind.api.JAXBRIContext
org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitializeAccessors(EndpointMetaData.java:686)
org.jboss.ws.metadata.umdm.EndpointMetaData.initializeInternal(EndpointMetaData.java:567)
org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitialize(EndpointMetaData.java:553)
org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.rebuildEndpointMetaData(JAXWSClientMetaDataBuilder.java:314)
org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPortInternal(ServiceDelegateImpl.java:271)
org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:202)
javax.xml.ws.Service.getPort(Service.java:143...
J'ai cherché google depuis longtemps, mais rien trouvé des sujets utiles . Certains sujets montrent des exemples d'accès aux services web de servlet, mais je ne peux malheureusement pas faire ça ... (Et ne savent pas ce qui est cause de trouble
serveur d'application. Jboss 4.2.3GA
Est
J'ai essayé d'utiliser l'annotation @WebServiceRef, mais il semble que web-container ne puisse pas injecter de talon de service web et je pense que ce conteneur ne doit pas le faire lui-même. , parce que les classes de stub ont déjà été générées par l'outil wsimport, et qu'il est inutile d'utiliser ces classes pour accéder au service web
classes de Stub ont été générées à l'aide de la commande suivante:
wsimport -keep -p com.myhost.ws http://www.myhost.com/services/MyWebService?wsdl
trouvé cette https://jax-ws.dev.java.net/guide/Using_JAX_WS_2_1_with_JavaSE6.html peut être est-ce une racine du problème, je vais vérifier ... –
Quelle version de java sont vous utilisez? Quelle version de JAX-WS RI? Emballez-vous JAX-RI dans votre guerre? –
1. jdk 1.6.0_13 2. si RI est « interface distante », alors je ne sais pas comment déterminer sa version 3. Oui, RI est emballé trop –