Tengo un servicio web que funciona bien cuando accedo a ellos desde una aplicación J2SE (escritorio). Para acceder a este servicio me siguen,cliente web para servicio web
- generar clases stub por enlace WSDL utilizando la herramienta java wsimport
entonces creo servicio utilizando las clases generadas y ejecutar uno de operations.It WSDL tiene el siguiente aspecto:
MyWebServiceService webService = new MyWebServiceService();
MyWebService port = webService.getMyWebServicePort();
webService.run ("XYZ");
Como me entristece, funciona bien cuando lo uso en una aplicación independiente. Pero ... cuando intento acceder a la web de servicios de la misma manera pero a partir de servlet-cliente, utilizando módulos de programa generados consigo siguiente error:
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...
He buscado en google mucho tiempo, pero no encontraron nada temas útiles . Algunos temas muestran ejemplos acceso de servicios web de servlet, pero por desgracia no pueden hacer esto ... (Y no saben lo que es causa de problemas
Application Server:. 4.2.3GA JBoss
Es es posible conectar el servicio web desde el servlet? ¿Cómo?
He intentado utilizar la anotación @WebServiceRef, pero parece que el contenedor web no puede insertar el tallo del servicio web. Y creo que el contenedor no debe hacerlo por sí mismo , porque las clases de stub ya han sido generadas por la herramienta wsimport, y su enouph para usar estas clases para acceder al servicio web.
clases de código auxiliar se generaron utilizando el siguiente comando:
wsimport -keep -p com.myhost.ws http://www.myhost.com/services/MyWebService?wsdl
encontraron esta https://jax-ws.dev.java.net/guide/Using_JAX_WS_2_1_with_JavaSE6.html puede ser esto es una raíz del problema, lo comprobaré ... –
¿Qué versión de Java son estás usando? ¿Qué versión de JAX-WS RI? ¿Has empaquetado JAX-RI en tu guerra? –
1. JDK 1.6.0_13 2. Si RI es 'interfaz remota', entonces no sé cómo determinar su versión 3. Sí, RI está empaquetado demasiado –