diff --git a/src/site/fml/faq.fml b/src/site/fml/faq.fml index 59fb4a10..fc516828 100644 --- a/src/site/fml/faq.fml +++ b/src/site/fml/faq.fml @@ -80,9 +80,7 @@ BEA WebLogic 9 - 1.1/1.2 - * - + 1.1/1.2 * IBM WebSphere 6 @@ -94,30 +92,25 @@ -

* = See - below - . -

+

* = See below.

Additionally, Java SE 6 includes SAAJ 1.3.

- I get an - NoSuchMethodError - when using SAAJ. What can I do about it? + I get an NoSuchMethodError when using SAAJ. What can I do about it?

If you get the following stack trace:

-                    org.springframework.beans.factory.BeanCreationException:
-                    Error creating bean with name 'org.springframework.ws.soap.saaj.SaajSoapMessageFactory'
-                    defined in ServletContext resource [/WEB-INF/springws-servlet.xml]:
-                    Invocation of init method failed;
-                    nested exception is java.lang.NoSuchMethodError:
-                    javax.xml.soap.MessageFactory.newInstance(Ljava/lang/String;)Ljavax/xml/soap/MessageFactory;
-                    Caused by:
-                    java.lang.NoSuchMethodError:
-                    javax.xml.soap.MessageFactory.newInstance(Ljava/lang/String;)Ljavax/xml/soap/MessageFactory;
+org.springframework.beans.factory.BeanCreationException:
+Error creating bean with name 'org.springframework.ws.soap.saaj.SaajSoapMessageFactory'
+defined in ServletContext resource [/WEB-INF/springws-servlet.xml]:
+Invocation of init method failed;
+nested exception is java.lang.NoSuchMethodError:
+javax.xml.soap.MessageFactory.newInstance(Ljava/lang/String;)Ljavax/xml/soap/MessageFactory;
+Caused by:
+java.lang.NoSuchMethodError:
+javax.xml.soap.MessageFactory.newInstance(Ljava/lang/String;)Ljavax/xml/soap/MessageFactory;
                 

Like most J2EE libraries, SAAJ consists of two parts: the API that consists of interfaces ( @@ -138,26 +131,16 @@ - I get a - UnsupportedOperationException - "This class does not support SAAJ 1.1" when I use SAAJ + I get a UnsupportedOperationException "This class does not support SAAJ 1.1" when I use SAAJ under WebLogic 9. What can I do about it?

Weblogic 9 has a known bug in the SAAJ 1.2 implementation: it implement all the 1.2 interfaces, - but throws - UnsupportedOperationExceptions - when you call them. - Confusingly, the exception message is - This class does not support SAAJ 1.1 - , even though - supports SAAJ 1.1 just fine; it just doesn't support SAAJ - 1.2 - . - See also - this BEA forum post - . + but throws UnsupportedOperationExceptions when you call them. + Confusingly, the exception message is This class does not support SAAJ 1.1, even though + supports SAAJ 1.1 just fine; it just doesn't support SAAJ 1.2. + See also this BEA forum post.

Spring-WS has a workaround for this, we basically use SAAJ 1.1 only when dealing with Weblogic 9. @@ -168,11 +151,11 @@ The solution is to not use BEA's version of SAAJ, but to use another implementation, like the one from Axis 1, or SUN. In you application context, use the following:

-                        <bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory">
-                        <property name="messageFactory">
-                        <bean class="com.sun.xml.messaging.saaj.soap.MessageFactoryImpl"/>
-                        </bean>
-                    
+<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory"> + <property name="messageFactory"> + <bean class="com.sun.xml.messaging.saaj.soap.MessageFactoryImpl"/> +</bean> +