SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 41672: Export, import, and other client operations fail when SAS® Web Infrastructure Platform Services is deployed to Oracle WebLogic Server 10.3.3

DetailsAboutRate It

Client operations that rely on SAS Web Infrastructure Platform Services fail when Web Infrastructure Platform Services is deployed to Oracle WebLogic Server 10.3.3. Those operations include the following:

  • using the Export SAS Package and the Import SAS Package operations in SAS® Management Console
  • copying a report from one folder to another in SAS Management Console
  • saving a project to the SAS Folders node from SAS® Enterprise Guide®

This problem does not occur with WebLogic Server 10.3, 10.3.1, or 10.3.2.

The failures in SAS Management Console are presented with this error message:

Invalid Content-Type:text/html. Is this an error message instead of a SOAP response?

The failure in SAS Enterprise Guide is presented with a similar error:

Client found response content type of 'text/html; charset=UTF-8', but expected 'text/xml'.

In all host operating environments except for AIX, the WebLogic managed server log and the SASWIPSoapServices9.2.log file contain the following exception:

####<Oct 19, 2010 9:54:43 AM BRST> <Error> <HTTP> <SV2KDSAS1> <mng1node> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1287489283806> <BEA-101017> <[ServletContext@838480000[app:sas.wip.services9.2.ear 
module:/SASWIPSoapServices path:/SASWIPSoapServices spec-version:null]] Root cause of ServletException.
org.springframework.beans.factory.BeanInitializationException: Could not initialize WebServiceMessageReceiverHandlerAdapter; nested exception is org.springframework.beans.factory.BeanCreationException: Invocation of init method failed; nested exception is java.lang.ExceptionInInitializerError
	at org.springframework.ws.transport.http.MessageDispatcherServlet.initMessageReceiverHandlerAdapter(MessageDispatcherServlet.java:257)
	at org.springframework.ws.transport.http.MessageDispatcherServlet.initFrameworkServlet(MessageDispatcherServlet.java:202)
	at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:283)
	at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:126)
	at javax.servlet.GenericServlet.init(GenericServlet.java:241)
	...
Caused By: java.lang.IllegalArgumentException: com.sun.xml.internal.messaging.saaj.soap.LocalStrings != com.sun.xml.messaging.saaj.soap.LocalStrings
	at java.util.logging.Logger.getLogger(Logger.java:314)
	at com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl.<clinit>(SAAJMetaFactoryImpl.java:35)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	...

Under AIX, the exception that appears in the WebLogic managed-server log and the SASWIPSoapServices9.2.log file is slightly different:

####<Nov 4, 2010 1:53:32 PM CET> <Error> <HTTP> <v8saswp.unix.lan> <SASServer1> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1288875212763> <BEA-101017> <[ServletContext@980040298[app:sas.wip.services9.2.ear 
module:/SASWIPSoapServices path:/SASWIPSoapServices spec-version:null]] Root cause of ServletException.
org.springframework.beans.factory.BeanInitializationException: Could not initialize WebServiceMessageReceiverHandlerAdapter; nested exception is org.springframework.beans.factory.BeanCreationException: Invocation of init method failed; nested exception is java.lang.ExceptionInInitializerError
	at org.springframework.ws.transport.http.MessageDispatcherServlet.initMessageReceiverHandlerAdapter(MessageDispatcherServlet.java:257)
	at org.springframework.ws.transport.http.MessageDispatcherServlet.initFrameworkServlet(MessageDispatcherServlet.java:202)
	at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:283)
	at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:126)
	at javax.servlet.GenericServlet.init(GenericServlet.java:241)
	...
Caused By: java.lang.IllegalArgumentException: The specified resource bundle name "com.sun.xml.messaging.saaj.soap.LocalStrings" is inconsistent with the existing one "com.sun.xml.internal.messaging.saaj.soap.LocalStrings".
	at java.util.logging.Logger.updateResourceBundle(Logger.java:327)
	at java.util.logging.Logger.getLoggerWithRes(Logger.java:355)
	at java.util.logging.Logger.getLogger(Logger.java:386)
	at com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl.<clinit>(SAAJMetaFactoryImpl.java:35)
	at java.lang.J9VMInternals.initializeImpl(Native Method)
	at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
	at java.lang.J9VMInternals.newInstanceImpl(Native Method)
	at java.lang.Class.newInstance(Class.java:1325)
	at javax.xml.soap.FactoryFinder.newInstance(Unknown Source)
	...

These exceptions that reference the resource bundle com.sun.xml.internal.messaging.saaj.soap.LocalStrings are the definitive way to diagnose this problem. You might also see the following exception repeatedly after the occurrence of the exceptions above:

####<Nov 3, 2010 12:14:27 PM BRST> <Error> <HTTP> <SV2KDSAS1> <mng1node> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1288793667631> <BEA-101017> <[ServletContext@1989240314[app:sas.wip.services9.2.ear 
module:/SASWIPSoapServices path:/SASWIPSoapServices spec-version:null]] Root cause of ServletException.
org.springframework.beans.factory.BeanInitializationException: Could not initialize WebServiceMessageReceiverHandlerAdapter; nested exception is org.springframework.beans.factory.BeanCreationException: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.springframework.ws.soap.saaj.support.SaajUtils
	at org.springframework.ws.transport.http.MessageDispatcherServlet.initMessageReceiverHandlerAdapter(MessageDispatcherServlet.java:257)
	at org.springframework.ws.transport.http.MessageDispatcherServlet.initFrameworkServlet(MessageDispatcherServlet.java:202)
	at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:283)

	at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:126)
	at javax.servlet.GenericServlet.init(GenericServlet.java:241)
	...

To correct this problem, follow these steps:

  1. Add the following option to the SASServer1 command line:
    -Djava.endorsed.dirs=SAS-configuration-directory/Lev1/Web/Common/SASDomain/endorsed

    Note: In Windows environments, enclose the value of the java.endorsed.dirs property in double quotation marks. In UNIX environments, do not use quotation marks.

  2. Locate the saaj-impl.jar file in this directory:
    SAS-configuration-directory/Lev1/Web/Staging/exploded/sas.wip.services9.2.ear/sas.wip.soapservices.war/WEB-INF/lib
    Then, copy saaj-impl.jar into the new directory:

    SAS-configuration-directory/Lev1/Web/Common/SASDomain/endorsed
  3. Locate the weblogic-application.xml file in this directory:
    SAS-configuration-directory/Lev1/Web/Staging/exploded/sas.wip.services9.2.ear/META-INF/

    In that file, delete the following line:

    <package-name>javax.xml.soap.*</package-name>
  4. In the WebLogic console, delete the existing deployment and re-deploy the sas.wip.services9.2.ear file from this directory:
    SAS-configuration-directory/Lev1/Web/Staging/exploded
  5. Restart the WebLogic managed server.

In AIX environments, follow these additional steps:

  1. Stop the WebLogic managed servers, administration server, and node manager.
  2. Copy the jwsdp_xercesImpl.jar and the jwsdp_xalan.jar files from the latest version of the jwsdp_jaxp bundle in the SAS Versioned Jar Repository to this directory:
    SAS-configuration-directory/Lev1/Web/Common/SASDomain/endorsed
  3. Delete the META-INF/services folder from jwsdp_xercesImpl.jar and jwsdp_xalan.jar in SASDomain/endorsed.
  4. Start the WebLogic node manager, administration server, and all managed servers.


Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Web Infrastructure PlatformMicrosoft® Windows® for x649.2_M19.39.2 TS2M29.3 TS1M0
Microsoft Windows Server 2003 Datacenter Edition9.2_M19.39.2 TS2M29.3 TS1M0
Microsoft Windows Server 2003 Enterprise Edition9.2_M19.39.2 TS2M29.3 TS1M0
Microsoft Windows Server 2003 Standard Edition9.2_M19.39.2 TS2M29.3 TS1M0
Microsoft Windows Server 2003 for x649.2_M19.39.2 TS2M29.3 TS1M0
Microsoft Windows Server 20089.2_M19.39.2 TS2M29.3 TS1M0
Microsoft Windows Server 2008 for x649.2_M19.39.2 TS2M29.3 TS1M0
Microsoft Windows XP Professional9.2_M19.39.2 TS2M29.3 TS1M0
Windows 7 Enterprise 32 bit9.2_M19.39.2 TS2M29.3 TS1M0
Windows 7 Enterprise x649.2_M19.39.2 TS2M29.3 TS1M0
Windows 7 Home Premium 32 bit9.2_M19.39.2 TS2M29.3 TS1M0
Windows 7 Home Premium x649.2_M19.39.2 TS2M29.3 TS1M0
Windows 7 Professional 32 bit9.2_M19.39.2 TS2M29.3 TS1M0
Windows 7 Professional x649.2_M19.39.2 TS2M29.3 TS1M0
Windows 7 Ultimate 32 bit9.2_M19.39.2 TS2M29.3 TS1M0
Windows 7 Ultimate x649.2_M19.39.2 TS2M29.3 TS1M0
Windows Vista9.2_M19.39.2 TS2M29.3 TS1M0
Windows Vista for x649.2_M19.39.2 TS2M29.3 TS1M0
HP-UX IPF9.2_M19.39.2 TS2M29.3 TS1M0
Solaris for x649.2_M19.39.2 TS2M29.3 TS1M0
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.