Diferencia entre revisiones de «Web Service con CXF para Weblogic»
(Página creada con 'Desarrollar un servicio CXF en Weblogic es posible, si bien son necesarias algunas consideraciones. == Pasos == ==== Debe desplegarse dentro de un EAR ==== Esto es debido a q…') |
(→Debe desplegarse dentro de un EAR) |
||
Línea 3: | Línea 3: | ||
== Pasos == | == Pasos == | ||
− | ==== | + | ==== Incluir el proyecto Web dentro de un EAR ==== |
Esto es debido a que debe priorizarse el uso de ciertas clases paquetizadas con CXF. | Esto es debido a que debe priorizarse el uso de ciertas clases paquetizadas con CXF. |
Revisión del 19:13 18 feb 2010
Desarrollar un servicio CXF en Weblogic es posible, si bien son necesarias algunas consideraciones.
Contenido
Pasos
Incluir el proyecto Web dentro de un EAR
Esto es debido a que debe priorizarse el uso de ciertas clases paquetizadas con CXF. Esto se hace incluyendo el siguiente código en el archivo weblogic-application.xml
<prefer-application-packages> <package-name>javax.jws.*</package-name> </prefer-application-packages>
Eliminar referencias al filesystem
Por default, el proceso de generación de código escribe ciertas referencias al fylesystem. Dado que Weblogic no descomprime los ejecutables, no puede obtener las referencias del sistema de archivos. Es por ello que deberemos remover dichas referencias de las clases *Service.java y *Impl.java Ej:
@WebServiceClient(name = "CalculadoraService", wsdlLocation = "CalculadoraService.wsdl", targetNamespace = "http://www.dosideas.com/cursos/calculadora") public class CalculadoraService extends Service { public final static URL WSDL_LOCATION; public final static QName SERVICE = new QName("http://www.dosideas.com/cursos/calculadora", "CalculadoraService"); public final static QName CalculadoraSoapPort = new QName("http://www.dosideas.com/cursos/calculadora", "CalculadoraSoapPort"); static { URL url = null; try { url = new URL("CalculadoraService.wsdl"); } catch (MalformedURLException e) { System.err.println("Can not initialize the default wsdl from file:./src/java/CalculadoraService.wsdl"); // e.printStackTrace(); } WSDL_LOCATION = url; }
Copiar WSDL a la carpeta WEB-INF
Como la carpeta WEB-INF si se descomprime, WL toma además las referencias relativas de los archivos respecto de esa carpeta, por lo que si se especifica el nombre del archivo a secas, lo CXF lo irá a buscar a ese carpeta.