En este caso utilizamos JDeveloper para configurar nuestra applicación, es de gran ayuda para crear los descriptores de despliegue que se requieren. Los puntos clave para lograr el deploy son:
1. Dar prioridad a las librerias requeridas en el descriptor de despliegue weblogic.xml. Si no existe lo creamos dentro del directorio WEB-INF de nuestra web application.
<?xml version = '1.0' encoding = 'UTF-8'?>
<weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd"
xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>
2. Especifiar los paquetes que debe utilizar, en este caso los de Axis y no los de WebLogic, así como los parsers de XML requeridos por el mismo axis. Creamos o modificamos el descriptor weblogic-application.xml, por ejemplo:
<?xml version = '1.0' encoding = 'UTF-8'?>
<weblogic-application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-application http://www.bea.com/ns/weblogic/weblogic-application/1.0/weblogic-application.xsd"
xmlns="http://www.bea.com/ns/weblogic/weblogic-application">
<xml>
<parser-factory>
<saxparser-factory>org.apache.xerces.jaxp.SAXParserFactoryImpl</saxparser-factory>
<document-builder-factory>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl</document-builder-factory>
<transformer-factory>org.apache.xalan.processor.TransformerFactoryImpl</transformer-factory>
</parser-factory>
</xml>
<prefer-application-packages>
<package-name>org.w3c.dom.*</package-name>
<package-name>org.xml.sax.*</package-name>
<package-name>com.ctc.wstx.*</package-name>
<package-name>com.sun.activation.*</package-name>
<package-name>com.sun.org.apache.*</package-name>
<package-name>oracle.core.lmx.*</package-name>
<package-name>oracle.core.lvf.*</package-name>
<package-name>oracle.jdbc.*</package-name>
<package-name>oracle.jdbc.connector.*</package-name>
<package-name>oracle.jdbc.driver.*</package-name>
<package-name>oracle.jdbc.internal.*</package-name>
<package-name>oracle.jdbc.oci.*</package-name>
<package-name>oracle.jdbc.oracore.*</package-name>
<package-name>oracle.jdbc.pool.*</package-name>
<package-name>oracle.jdbc.util.*</package-name>
<package-name>oracle.jdbc.xa.*</package-name>
<package-name>oracle.jpub.runtime.*</package-name>
<package-name>oracle.net.ano.*</package-name>
<package-name>oracle.net.jndi.*</package-name>
<package-name>oracle.net.ns.*</package-name>
<package-name>oracle.net.nt.*</package-name>
<package-name>oracle.net.resolver.*</package-name>
<package-name>oracle.security.o3logon.*</package-name>
<package-name>oracle.sql.*</package-name>
<package-name>oracle.sql.converter.*</package-name>
<package-name>org.apache.*</package-name>
<package-name>org.springframework.*</package-name>
</prefer-application-packages>
</weblogic-application>
3. Hacer el deploy de la aplicación (EAR) no del proyecto, para que se lleve el weblogic-application.xml. Y no olvidemos especificar que el empaquetado del proyecto (WAR) incluya las librerías requeridas.
4. Opcionalmente, si el servicio Web que va a consumir nuestro cliente esta protegido con WSS4J, registramos el proveedor de seguridad en el JDK que utiliza nuestro servidor WebLogic (esto requiere reiniciar el servidor).
- Colocar la libreria bcprov-jdk15-132.jar en $JDK_HOME/jre/lib/ext
- Modificar el archivo java.security localizado en $JDK_HOME/jre/lib/security. Agregar la clase org.bouncycastle.jce.provider. BouncyCastleProvider como provider. Por ejemplo:
security.provider.10=org. bouncycastle.jce.provider. BouncyCastleProvider
Con esta configuración evitamos el siguiente error:
org.apache.axis2.AxisFault: WSHandler: Encryption: error during message processingorg.apache.ws.security.WSSecurityException: An unsupported signature or encryption al
gorithm was used (unsupported key transport encryption algorithm: No such algorithm: http://www.w3.org/2001/04/xmlenc#rsa-1_5)
Aqui les dejos algunos sitios que me ayudaron a realizar el deploy:
http://techasilo.blogspot.mx/2007/04/call-to-web-service-has-become-nerve-of.html
http://blog.guident.com/2011/12/deploying-axis2-applications-on-oracle-weblogic-server/
http://mail-archives.apache.org/mod_mbox/ws-wss4j-dev/200609.mbox/%3c4e3ba4880609010756i59e0a5b6s12d875f0b2263c1f@mail.gmail.com%3e