Started on FAQ

This commit is contained in:
Arjen Poutsma
2007-02-13 22:52:55 +00:00
parent ba45cf1cd2
commit 5f4c9d997a
2 changed files with 62 additions and 2 deletions

59
src/site/apt/faq.apt Normal file
View File

@@ -0,0 +1,59 @@
--------------------------
Frequently Asked Questions
--------------------------
Frequently Asked Questions
Below are some questions that are frequently asked on the Spring-WS forum.
Please read this page before you ask a question on the forum.
* Java
<<When I run Spring-WS under Java SE 1.4, the resulting SOAP message does not contain valid namespaces. Does Spring-WS work under Java 1.4?>>
Yes it does, but it requires some work. Java 1.4 is bundled with the older XML parser Crimson, which does not handle
namespaces correctly. Additionally, it is bundled with an older version of Xalan, which also has problems.
Unfortunately, placing newer versions of these on the classpath does not override them.
See {{{http://xml.apache.org/xalan-j/faq.html#faq-N100D6}this FAQ}} entry on the Xalan site, and also
{{{http://xerces.apache.org/xerces2-j/faq-general.html#faq-4}this entry}} on the Xerces site.
The only solution that works is to add newer versions of Xerces and Xalan in the lib/endorsed directory of your JDK,
as explained in those FAQs.
* SAAJ
<<What is SAAJ?>>
SAAJ is the SOAP with Attachments API for Java. Previously, it has been part of JAXM, but it has been released as a
seperate API as part of the {{{http://java.sun.com/webservices/jwsdp/index.jsp}Java Web Service Developer Pack}},
and also as part of J2EE 1.4. SAAJ is generally known as the package <<<javax.xml.soap>>>.
<<What version of SAAJ does my application server support?>>
See below:
*--------------------+--------------+
| Application Server | SAAJ Version |
*--------------------+--------------+
| BEA WebLogic 8 | 1.1 |
| BEA WebLogic 9 | 1.2 |
| IBM WebSphere 6 | 1.2 |
| SUN Glassfish | 1.3 |
*--------------------+--------------+
<<When I run a Spring-WS application that uses SAAJ, I get the following stacktrace:>>
+---------------
java.lang.NoSuchMethodError: javax.xml.soap.MessageFactory.newInstance(Ljava/lang/String;)Ljavax/xml/soap/MessageFactory;
+---------------
<<What can I do about it?>>
Like most J2EE libraries, SAAJ consists of two parts: the API that consists of interfaces (<<<saaj-api.jar>>>),
and the implementation (<<<saaj-impl.jar>>>).
The stacktrace is due to the fact that you are using a new version of the API (SAAJ 1.3), while your application
server provides an earlier version of the implementation (SAAJ 1.2 or even 1.1). Spring-WS supports all three
versions of SAAJ (1.1 through 1.3), but things break when it sees the 1.3 API, while there is no 1.3 implementation.
The solution therefore is quite simple: to remove the newer 1.3 version of the API, from the classpath, and replace
it with the version supported by your application server.

View File

@@ -7,10 +7,11 @@
<body>
<links>
<item name="Spring Framework" href="http://www.springframework.org" />
<item name="Spring Web Services" href="http://www.springframework.org/spring-ws" />
<item name="Spring Framework" href="http://www.springframework.org/" />
<item name="Spring Web Services" href="http://www.springframework.org/spring-ws/" />
</links>
<menu name="Documentation">
<item name="FAQ" href="faq.html"/>
<item name="Upgrading" href="upgrading.html"/>
<item name="Tutorial" href="tutorial/tutorial1.html"/>
<item name="Resources" href="resources.html"/>