JAX-WS: Known Behavior or issues w.r.t Oracle WebLogic server

Metro JAX-WS Reference Implementation

  • While deploying Metro based JAX-WS SOAP Web Service into Oracle WebLogic application server, there are two WSDLs published
    1. One WSDL endpoint URL address as designed, which works fine in Tomcat server as well
    2. Other WSDL is created by Weblogic server on-the-fly while deploying WAR using the Web Service annotation presents in the SEI
  • Also while deploying WAR file into Oracle Weblogic application server, we need to remove out jaxws-rt &webservices-rt jars from lib folder as this seems to be conflicting with the already packaged JAX-WS libraries in the weblogic server
  • Above point could be one of the possible reasons for two WSDLs
  • Adding WS-Security using UsernameToken profile to the already working JAX-WS based SOAP Web Service works fine as expected in Tomcat Server
  • But it doesn’t seems to take effect while deploying the WAR file into Oracle Weblogic application server

Apache CXF JAX-WS Reference Implementation

  • Similarly deploying the Apache JAX-WS based SOAP Web Service into Oracle WebLogic application server, there are again two WSDLs published
    1. One WSDL endpoint URL address as designed using apache-spring-context xml file, which works fine in Tomcat server as well
    2. Other WSDL is created by WebLogic server on-the-fly while deploying WAR using the Web Service annotation presents in the SEI
  • As pointed out in the Metro section, in-built JAX-WS libraries in the Oracle Weblogic application server creates other WSDL (i.e.; exposes another service) using the Web Service annotation presents in the SEI
  • Apache CXF libraries takes effect while deploying EAR file with WAR as dependencies and preferring the libraries bundled within EAR/WAR
  • This particularly important in cases, when we are adding WS-Security using UsernameToken profile into already working JAX-WS based SOAP Web Service
  • But this WAR works as expected in Tomcat server, even with WS-Security added to the service
Oracle WebLogic server 12c + Apache-CXF JAX-WS + Packaging WAR as EAR