Author: dkulp
Date: Mon Mar 25 17:34:28 2013
New Revision: 1460772

URL: http://svn.apache.org/r1460772
Log:
If cannot create a parser factory at startup, allow trying at runtime.

Modified:
    cxf/trunk/api/src/main/java/org/apache/cxf/staxutils/StaxUtils.java

Modified: cxf/trunk/api/src/main/java/org/apache/cxf/staxutils/StaxUtils.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/staxutils/StaxUtils.java?rev=1460772&r1=1460771&r2=1460772&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/staxutils/StaxUtils.java 
(original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/staxutils/StaxUtils.java Mon Mar 
25 17:34:28 2013
@@ -163,14 +163,19 @@ public final class StaxUtils {
             allowInsecureParser = "1".equals(s) || Boolean.parseBoolean(s);
         }
         
-        XMLInputFactory xif = createXMLInputFactory(true);
-        String xifClassName = xif.getClass().getName();
-        if (xifClassName.contains("ctc.wstx") || 
xifClassName.contains("xml.xlxp")
-                || xifClassName.contains("xml.xlxp2") || 
xifClassName.contains("bea.core")) {
-            SAFE_INPUT_FACTORY = xif;
-        } else {
-            SAFE_INPUT_FACTORY = null;
+        XMLInputFactory xif = null;
+        try {
+            xif = createXMLInputFactory(true);
+            String xifClassName = xif.getClass().getName();
+            if (!xifClassName.contains("ctc.wstx") && 
!xifClassName.contains("xml.xlxp")
+                    && !xifClassName.contains("xml.xlxp2") && 
!xifClassName.contains("bea.core")) {
+                xif = null;
+            }
+        } catch (Throwable t) {
+            //ignore, can always drop down to the pooled factories
+            xif = null;
         }
+        SAFE_INPUT_FACTORY = xif;
         
         XMLOutputFactory xof = XMLOutputFactory.newInstance();
         String xofClassName = xof.getClass().getName();


Reply via email to