You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general-cvs@xml.apache.org by je...@apache.org on 2002/01/24 01:24:55 UTC

cvs commit: xml-site/targets/soap/faq faq_chawke.html

jechawke    02/01/23 16:24:55

  Modified:    targets/soap/faq faq_chawke.html
  Log:
  Added some new faq entries, made some minor corrections.
  
  Revision  Changes    Path
  1.10      +75 -45    xml-site/targets/soap/faq/faq_chawke.html
  
  Index: faq_chawke.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/soap/faq/faq_chawke.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- faq_chawke.html	20 Nov 2001 22:33:31 -0000	1.9
  +++ faq_chawke.html	24 Jan 2002 00:24:55 -0000	1.10
  @@ -11,9 +11,9 @@
   </HEAD>
   <BODY LINK="#0000ff" VLINK="#800080">
   <H1>Apache-SOAP User's FAQ</H1>
  -This FAQ is based on the questions and answers that appear on the <a href="http://xml.apache.org/soap/mail.html">Apache-SOAP User's Mailing List</a>.<br> It is currently maintained by <A HREF="mailto:j_chawke@hotmail.com">Jonathan Chawke</A>, and was last modified on Tue 20-Nov-2001 10:38PM GMT.
  +This FAQ is based on the questions and answers that appear on the <a href="http://xml.apache.org/soap/mail.html">Apache-SOAP User's Mailing List</a>.<br> It is currently maintained by <A HREF="mailto:j_chawke@hotmail.com">Jonathan Chawke</A>, and was last modified on Thu 24-Jan-2002 12:22AM GMT.
   <br>Corrections and suggestions for new questions are always welcome.
  -<H1><A NAME="toc">Table of Contents</A></H1><OL><LI><H2>Hot Topics</H2>1.1&nbsp;&nbsp;<A HREF="#Q1_1">Help! I'm getting this error: "Element must contain a:'faultcode' element"</A><br>
  +<H1><A NAME="toc">Table of Contents</A></H1><OL><LI><H2>Hot Topics</H2><i>This section answers questions that have been appearing frequently on the mailing list.</i><p>1.1&nbsp;&nbsp;<A HREF="#Q1_1">Help! I'm getting this error: "Element must contain a:'faultcode' element"</A><br>
   1.2&nbsp;&nbsp;<A HREF="#Q1_2">Help! I'm getting this error: "Unable to resolve namespace URI for 'xsd'".</A><br>
   1.3&nbsp;&nbsp;<A HREF="#Q1_3">Help! I'm getting this error: "Unable to resolve target object.." when I try to invoke a method on my SOAP service.</A><br>
   1.4&nbsp;&nbsp;<A HREF="#Q1_4">Help! I got this error message: "Fault String = org.w3c.dom.Node: method getNamespaceURI() java/lang/String; not found"</A><br>
  @@ -24,7 +24,8 @@
   1.7&nbsp;&nbsp;<A HREF="#Q1_7">Help! I'm getting this error: "Exception in thread "main" java.lang.AbstractMethodError at org.apache.soap.util.xml.QName.<init>(QName.java:80)"</A><br>
   1.8&nbsp;&nbsp;<A HREF="#Q1_8">I think I have an XML parser library problem. How can I determine exactly which library is being used by Apache SOAP?</A><br>
   1.9&nbsp;&nbsp;<A HREF="#Q1_9">How can I view the 'raw' XML data that is exchanged between a SOAP client and server?</A><br>
  -<br></LI><LI><H2>General</H2>2.1&nbsp;&nbsp;<A HREF="#Q2_1">Where can I get help on SOAP issue XYZ?</A><br>
  +1.10&nbsp;&nbsp;<A HREF="#Q1_10">I can't get SOAP working with Tomcat 4 (Catalina). Help!</A><br>
  +<br></LI><LI><H2>General</H2><i>This section answers general questions.</i><p>2.1&nbsp;&nbsp;<A HREF="#Q2_1">Where can I get help on SOAP issue XYZ?</A><br>
   2.2&nbsp;&nbsp;<A HREF="#Q2_2">Where can I find mailing list archives for the soap-user mailing list?</A><br>
   2.3&nbsp;&nbsp;<A HREF="#Q2_3">I'm just getting started with SOAP. Where can I find a tutorial on SOAP programming?</A><br>
   2.4&nbsp;&nbsp;<A HREF="#Q2_4">Are there any other SOAP FAQs available?</A><br>
  @@ -56,9 +57,9 @@
   2.41&nbsp;&nbsp;<A HREF="#Q2_41">I'd like to deploy multiple services using a single deployment descriptor file. Is this possible?</A><br>
   2.42&nbsp;&nbsp;<A HREF="#Q2_42">Will Apache SOAP support JAXM when it's ready?</A><br>
   2.43&nbsp;&nbsp;<A HREF="#Q2_43">Will Apache SOAP support JAX-RPC?</A><br>
  -<br></LI><LI><H2>Installation</H2>3.1&nbsp;&nbsp;<A HREF="#Q3_1">What jar files do I need to provide for Apache-SOAP clients?</A><br>
  -3.2&nbsp;&nbsp;<A HREF="#Q3_2">How do I install Apache-SOAP on Tomcat?</A><br>
  -3.3&nbsp;&nbsp;<A HREF="#Q3_3">Can I install Apache-SOAP 2.1 on Tomcat 4.0 (beta)?</A><br>
  +<br></LI><LI><H2>Installation</H2><i>This section helps resolve questions which arise when installing Apache SOAP in a particular application server environment.</i><p>3.1&nbsp;&nbsp;<A HREF="#Q3_1">What jar files do I need to provide for Apache-SOAP clients?</A><br>
  +3.2&nbsp;&nbsp;<A HREF="#Q3_2">How do I install Apache-SOAP on Tomcat 3.x?</A><br>
  +3.3&nbsp;&nbsp;<A HREF="#Q3_3">Can I install Apache-SOAP 2.1 on Tomcat 4.0?</A><br>
   3.4&nbsp;&nbsp;<A HREF="#Q3_4">How do I install Apache-SOAP on Bea WebLogic 5.1?</A><br>
   3.5&nbsp;&nbsp;<A HREF="#Q3_5">How do I install Apache-SOAP on Bea WebLogic 6.0?</A><br>
   3.6&nbsp;&nbsp;<A HREF="#Q3_6">How do I install Apache-SOAP on Bea WebLogic 6.1 beta?</A><br>
  @@ -70,8 +71,9 @@
   3.12&nbsp;&nbsp;<A HREF="#Q3_12">How do I install Apache-SOAP on iPlanet Web Server?</A><br>
   3.13&nbsp;&nbsp;<A HREF="#Q3_13">How do I install Apache-SOAP on iPlanet Application Server?</A><br>
   3.14&nbsp;&nbsp;<A HREF="#Q3_14">How do I install Apache-SOAP on Unify's ServletExec?</A><br>
  -3.17&nbsp;&nbsp;<A HREF="#Q3_17">How do I install Apache-SOAP on Borland Application Server (BAS) 4.5?</A><br>
  -<br></LI><LI><H2>Troubleshooting</H2>4.2&nbsp;&nbsp;<A HREF="#Q4_2">Help! Visual Age can't compile SOAP - it says I'm missing package com.ibm.xmi.job.*</A><br>
  +3.16&nbsp;&nbsp;<A HREF="#Q3_16">How do I install Apache-SOAP on Oracle 8i Application Server?</A><br>
  +3.18&nbsp;&nbsp;<A HREF="#Q3_18">How do I install Apache-SOAP on Borland Application Server (BAS) 4.5?</A><br>
  +<br></LI><LI><H2>Troubleshooting</H2><i>This section answers general troubleshooting queries.</i><p>4.2&nbsp;&nbsp;<A HREF="#Q4_2">Help! Visual Age can't compile SOAP - it says I'm missing package com.ibm.xmi.job.*</A><br>
   4.3&nbsp;&nbsp;<A HREF="#Q4_3">Help! My client sees error message: "SOAP-ENV:Server.BadTargetObjectURI"</A><br>
   4.5&nbsp;&nbsp;<A HREF="#Q4_5">Help! I try to run my SOAP client I get this message: "Unsupported response content type "text/html", must be: "text/xml". Response was: HTTP Error 405 - Method Not Allowed".</A><br>
   4.7&nbsp;&nbsp;<A HREF="#Q4_7">Help! I'm using Tomcat+SOAP on Linux. When I try to access the SOAP admin page, Tomcat crashes and I see this message: "HotSpot Virtual Machine Error, Unexpected Signal 11"</A><br>
  @@ -88,29 +90,31 @@
   javax.mail.MessagingException: Missing start boundary"</A><br>
   4.19&nbsp;&nbsp;<A HREF="#Q4_19">Help! I'm getting this error: "java.lang.NoClassDefFoundError: javax/xml/transform/TransformerException"</A><br>
   4.20&nbsp;&nbsp;<A HREF="#Q4_20">I'm getting a segmentation fault when I try to run SOAP on Red Hat. What's wrong?</A><br>
  -<br></LI><LI><H2>Design and Architecture Issues</H2>5.2&nbsp;&nbsp;<A HREF="#Q5_2">Can a SOAP server maintain session between multiple client invocations?</A><br>
  +<br></LI><LI><H2>Design and Architecture Issues</H2><i>This section aims to provide some opinions and suggestions on design and architecture issues.</i><p>5.2&nbsp;&nbsp;<A HREF="#Q5_2">Can a SOAP server maintain session between multiple client invocations?</A><br>
   5.3&nbsp;&nbsp;<A HREF="#Q5_3">What is an actor?</A><br>
   5.4&nbsp;&nbsp;<A HREF="#Q5_4">Can Apache-SOAP handle large (multiple megabyte) files?</A><br>
   5.5&nbsp;&nbsp;<A HREF="#Q5_5">What is the best way to send a large file (multiple megabytes) with a soap request?</A><br>
  -5.8&nbsp;&nbsp;<A HREF="#Q5_8">Is it possible to pass parameters to the constructor in a SOAP application ?</A><br>
  -5.9&nbsp;&nbsp;<A HREF="#Q5_9">How do I write a SOAP service that maintains state across a session?</A><br>
  -5.11&nbsp;&nbsp;<A HREF="#Q5_11">Is it possible to perform more than one invocation in a single SOAP request?</A><br>
  -5.12&nbsp;&nbsp;<A HREF="#Q5_12">I would like to write a SOAP service method that returns a DOM Document (org.w3c.dom.Document). How do I do this?</A><br>
  -5.14&nbsp;&nbsp;<A HREF="#Q5_14">I would like to pass a DOM Element as a parameter to a method. How do I do this?</A><br>
  -5.15&nbsp;&nbsp;<A HREF="#Q5_15">What is the performance difference (if any) between SOAP and RMI? Are there any benchmark test results available?</A><br>
  -5.16&nbsp;&nbsp;<A HREF="#Q5_16">I am writing a SOAP service which returns a set of data. Is it better to return this data in an object, or as an XML data structure?</A><br>
  -5.17&nbsp;&nbsp;<A HREF="#Q5_17">Are Apache SOAP calls synchronous or asynchronous?</A><br>
  -5.18&nbsp;&nbsp;<A HREF="#Q5_18">What is the 'best' way of sending XML data using SOAP?</A><br>
  -5.19&nbsp;&nbsp;<A HREF="#Q5_19">Does Apache SOAP use SAX or DOM for parsing/representation of XML?</A><br>
  -5.20&nbsp;&nbsp;<A HREF="#Q5_20">How does SOAP compare with CORBA?</A><br>
  -<br></LI><LI><H2>SOAP and Namespaces</H2>6.1&nbsp;&nbsp;<A HREF="#Q6_1">What are all these SOAP Namespaces?</A><br>
  +5.6&nbsp;&nbsp;<A HREF="#Q5_6">How do I add a file attachment to a SOAP response using MIME?</A><br>
  +5.9&nbsp;&nbsp;<A HREF="#Q5_9">Is it possible to pass parameters to the constructor in a SOAP application ?</A><br>
  +5.10&nbsp;&nbsp;<A HREF="#Q5_10">How do I write a SOAP service that maintains state across a session?</A><br>
  +5.12&nbsp;&nbsp;<A HREF="#Q5_12">Is it possible to perform more than one invocation in a single SOAP request?</A><br>
  +5.13&nbsp;&nbsp;<A HREF="#Q5_13">I would like to write a SOAP service method that returns a DOM Document (org.w3c.dom.Document). How do I do this?</A><br>
  +5.15&nbsp;&nbsp;<A HREF="#Q5_15">I would like to pass a DOM Element as a parameter to a method. How do I do this?</A><br>
  +5.16&nbsp;&nbsp;<A HREF="#Q5_16">What is the performance difference (if any) between SOAP and RMI? Are there any benchmark test results available?</A><br>
  +5.17&nbsp;&nbsp;<A HREF="#Q5_17">I am writing a SOAP service which returns a set of data. Is it better to return this data in an object, or as an XML data structure?</A><br>
  +5.18&nbsp;&nbsp;<A HREF="#Q5_18">Are Apache SOAP calls synchronous or asynchronous?</A><br>
  +5.19&nbsp;&nbsp;<A HREF="#Q5_19">What is the 'best' way of sending XML data using SOAP?</A><br>
  +5.20&nbsp;&nbsp;<A HREF="#Q5_20">Does Apache SOAP use SAX or DOM for parsing/representation of XML?</A><br>
  +5.21&nbsp;&nbsp;<A HREF="#Q5_21">How does SOAP compare with CORBA?</A><br>
  +5.22&nbsp;&nbsp;<A HREF="#Q5_22">Is it possible to compress Apache SOAP data packets?</A><br>
  +<br></LI><LI><H2>SOAP and Namespaces</H2><i>This section discusses namespace issues.</i><p>6.1&nbsp;&nbsp;<A HREF="#Q6_1">What are all these SOAP Namespaces?</A><br>
   6.2&nbsp;&nbsp;<A HREF="#Q6_2">Do I need to use namespaces on my XML data?</A><br>
   6.3&nbsp;&nbsp;<A HREF="#Q6_3">What are all those namespace prefixes in my SOAP messages? Won't they keep validation from working?</A><br>
  -<br></LI><LI><H2>SOAP and Serialization</H2>7.1&nbsp;&nbsp;<A HREF="#Q7_1">How do I send user defined java objects using SOAP?</A><br>
  +<br></LI><LI><H2>SOAP and Serialization</H2><i>This section discusses serialization issues.</i><p>7.1&nbsp;&nbsp;<A HREF="#Q7_1">How do I send user defined java objects using SOAP?</A><br>
   7.2&nbsp;&nbsp;<A HREF="#Q7_2">What are the different SOAP encoding styles? Which should I use?</A><br>
   7.3&nbsp;&nbsp;<A HREF="#Q7_3">How do you serialize java.util.Date objects?</A><br>
   7.7&nbsp;&nbsp;<A HREF="#Q7_7">How can I make a SOAP call which serializes both an xml literal and a string?</A><br>
  -<br></LI><LI><H2>WSDL</H2>8.1&nbsp;&nbsp;<A HREF="#Q8_1">Where can I find the WSDL specification document?</A><br>
  +<br></LI><LI><H2>WSDL</H2><i>This section answers Web Services Description Language (WSDL) questions.</i><p>8.1&nbsp;&nbsp;<A HREF="#Q8_1">Where can I find the WSDL specification document?</A><br>
   8.2&nbsp;&nbsp;<A HREF="#Q8_2">Does Apache SOAP use WSDL?</A><br>
   8.3&nbsp;&nbsp;<A HREF="#Q8_3">How can I generate a WSDL file for my SOAP service?</A><br>
   8.4&nbsp;&nbsp;<A HREF="#Q8_4">How can I generate Java code from an existing WSDL file?</A><br>
  @@ -123,11 +127,17 @@
   8.11&nbsp;&nbsp;<A HREF="#Q8_11">Where can I find out about how WSDL and UDDI work together?</A><br>
   8.12&nbsp;&nbsp;<A HREF="#Q8_12">Where can I find out more about UDDI?</A><br>
   8.13&nbsp;&nbsp;<A HREF="#Q8_13">The WSTK proxygen tool generates a class that requires a URL parameter in the constructor. What should I use?</A><br>
  -<br></LI><LI><H2>SOAP and .NET</H2>9.1&nbsp;&nbsp;<A HREF="#Q9_1">Does Apache SOAP work with Microsoft SOAP?</A><br>
  +8.14&nbsp;&nbsp;<A HREF="#Q8_14">Is there a simple tool which allows you to test a SOAP service using WSDL?</A><br>
  +8.15&nbsp;&nbsp;<A HREF="#Q8_15">Is there a Java API for parsing and manipulating WSDL files?</A><br>
  +<br></LI><LI><H2>SOAP and .NET</H2><i>This section answers questions which arise when integrating with Microsoft's .NET platform.</i><p>9.1&nbsp;&nbsp;<A HREF="#Q9_1">Does Apache SOAP work with Microsoft SOAP?</A><br>
  +9.2&nbsp;&nbsp;<A HREF="#Q9_2">How do I Access a Apache SOAP Service using a Microsoft SOAP (VB) Client?</A><br>
  +9.3&nbsp;&nbsp;<A HREF="#Q9_3">How do I Access a Microsoft SOAP Service using an Apache SOAP Client?</A><br>
   9.4&nbsp;&nbsp;<A HREF="#Q9_4">Help! My Apache SOAP Client cannot connect to a .NET service - the server says it expects 'text/xml' and doesn't understand "text/xml; charset=utf-8".</A><br>
   9.5&nbsp;&nbsp;<A HREF="#Q9_5">Where can I find information about interoperating between an MS SOAP client and an Apache SOAP service?</A><br>
  -9.7&nbsp;&nbsp;<A HREF="#Q9_7">Where can I find an example of how to use the low-level MS SOAP API?</A><br>
  -9.8&nbsp;&nbsp;<A HREF="#Q9_8">How do I maintain sessions between Apache-SOAP and MS SOAP?</A><br>
  +9.6&nbsp;&nbsp;<A HREF="#Q9_6">How do I Access a Apache SOAP Service using a Microsoft .NET (Beta 2) Client?</A><br>
  +9.8&nbsp;&nbsp;<A HREF="#Q9_8">Where can I find an example of how to use the low-level MS SOAP API?</A><br>
  +9.9&nbsp;&nbsp;<A HREF="#Q9_9">How do I maintain sessions between Apache-SOAP and MS SOAP?</A><br>
  +9.10&nbsp;&nbsp;<A HREF="#Q9_10">How do I exchange complex types between Apache-SOAP and MS SOAP?</A><br>
   </OL>
   
   <HR NOSHADE><H2>Questions and Answers</H2>
  @@ -154,6 +164,8 @@
   Matt Duftler has kindly provided a JSP page can tell you whether a JAXP-compliant parser is being found, what package the implementing classes of the org.w3c.dom interfaces are from, and whether the org.w3c.dom interfaces being resolved are namespace-aware. The JSP file is available here: <A HREF="http://marc.theaimsgroup.com/?l=soap-user&m=99669938017194&w=2">http://marc.theaimsgroup.com/?l=soap-user&m=99669938017194&w=2</a>. Note that SOAP 2.2 (or newer) is required.<p>
   1.9&nbsp;&nbsp;<STRONG><A NAME="Q1_9">How can I view the 'raw' XML data that is exchanged between a SOAP client and server?</A></STRONG><BR>
   There are a couple of tools which you can use to do this:<BR>(1) TcpTunnel (textual interface) / TcpTunnelGui (graphical interface), which are both provided with the standard Apache SOAP distribution. See <A HREF="http://xml.apache.org/soap/faq/faq_chawke.html#Q2_10">http://xml.apache.org/soap/faq/faq_chawke.html#Q2_10</a> for more information on how to use these tools. <BR>(2) UtilSnoop, described as its author as 'somewhat more user friendly' than TcpTunnelGui. It's available at <A HREF="http://www.lanw.com/books/javasoap/">http://www.lanw.com/books/javasoap/</a>.<p>
  +1.10&nbsp;&nbsp;<STRONG><A NAME="Q1_10">I can't get SOAP working with Tomcat 4 (Catalina). Help!</A></STRONG><BR>
  +You probably need to do two things:<BR>(1) Modify your catalina.bat (or catalina.sh on Unix) file to include the soap libs in your classpath. <BR>(2) Catalina's class loader operates different that Tomcat 3, so you need to put soap.jar in the WEB-INF of the application's directory under a 'lib' sub-dir.<BR>For more detailed instructions, see here: <A HREF="http://marc.theaimsgroup.com/?l=soap-user&m=100802546024930&w=2">http://marc.theaimsgroup.com/?l=soap-user&m=100802546024930&w=2</a>.<p>
   
   
   <p><H2><u>2.&nbsp;&nbsp;General</u></H2>
  @@ -226,10 +238,10 @@
   <p><H2><u>3.&nbsp;&nbsp;Installation</u></H2>
   3.1&nbsp;&nbsp;<STRONG><A NAME="Q3_1">What jar files do I need to provide for Apache-SOAP clients?</A></STRONG><BR>
   For an Apache-SOAP 2.2 deployment, you will need to include the following jars:<BR>- xerces.jar<BR>- soap.jar<BR>- mail.jar<BR>- activation.jar<BR>The Apache-SOAP client-side dependencies are described in more detail on the web-site, in the "Installation" section, under the "Client-Side Instructions" heading. See <A HREF="http://xml.apache.org/soap/docs/">http://xml.apache.org/soap/docs/</a> for this information.<p>
  -3.2&nbsp;&nbsp;<STRONG><A NAME="Q3_2">How do I install Apache-SOAP on Tomcat?</A></STRONG><BR>
  +3.2&nbsp;&nbsp;<STRONG><A NAME="Q3_2">How do I install Apache-SOAP on Tomcat 3.x?</A></STRONG><BR>
   Follow the instructions that are included with the Apache-SOAP distribution. Make sure that you read the instructions carefully as there are a bunch of 'gotchas'.<BR>Xmethods have a good tutorial which includes setup information: <A HREF="http://www.xmethods.net/gettingstarted/apache.html">http://www.xmethods.net/gettingstarted/apache.html</a><p>
  -3.3&nbsp;&nbsp;<STRONG><A NAME="Q3_3">Can I install Apache-SOAP 2.1 on Tomcat 4.0 (beta)?</A></STRONG><BR>
  -Catalina (Tomcat 4) uses a different class loading model to the tomcat 3.* series, so if you follow the Tomcat instructions in the soap distribution, when the soap web application is loaded it will not be able to find org.apache.soap.* or the SAX classes needed. However, it should work if you put xerces.jar and soap.jar into the lib directory under WEB-INF under your web application.<p>
  +3.3&nbsp;&nbsp;<STRONG><A NAME="Q3_3">Can I install Apache-SOAP 2.1 on Tomcat 4.0?</A></STRONG><BR>
  +Catalina (Tomcat 4) uses a different class loading model to the tomcat 3.* series, so if you follow the Tomcat instructions in the soap distribution, when the soap web application is loaded it will not be able to find org.apache.soap.* or the SAX classes needed. However, it should work if you put xerces.jar and soap.jar into the lib directory under WEB-INF under your web application. One SOAP user has provided a detailed description of their working configuration here: <A HREF="http://marc.theaimsgroup.com/?l=soap-user&m=100199111401559&w=2.<BR>Another">http://marc.theaimsgroup.com/?l=soap-user&m=100199111401559&w=2.<BR>Another</a> user (Tom Myers) reports that 'SOAP 2.2 seems to work fine in Tomcat 4.0.1 without touching the catalina.bat startup file; just put your jar files, soap.jar, etc., into your [path-to-catalina]/common/lib<BR>directory'.<p>
   3.4&nbsp;&nbsp;<STRONG><A NAME="Q3_4">How do I install Apache-SOAP on Bea WebLogic 5.1?</A></STRONG><BR>
   Dion Almaer has written an article about this and it has been included in the distribution. See <A HREF="http://xml.apache.org/websrc/cvsweb.cgi/xml-soap/java/docs/install/weblogic51.html">http://xml.apache.org/websrc/cvsweb.cgi/xml-soap/java/docs/install/weblogic51.html</a>.<p>
   3.5&nbsp;&nbsp;<STRONG><A NAME="Q3_5">How do I install Apache-SOAP on Bea WebLogic 6.0?</A></STRONG><BR>
  @@ -252,7 +264,9 @@
   See the instructions on the iPlanet.com web site: <BR><A HREF="http://developer.iplanet.com/appserver/samples/soap/docs/index.html">http://developer.iplanet.com/appserver/samples/soap/docs/index.html</a><p>
   3.14&nbsp;&nbsp;<STRONG><A NAME="Q3_14">How do I install Apache-SOAP on Unify's ServletExec?</A></STRONG><BR>
   See <A HREF="http://marc.theaimsgroup.com/?l=soap-user&m=97741067209680&w=2">http://marc.theaimsgroup.com/?l=soap-user&m=97741067209680&w=2</a>.<p>
  -3.17&nbsp;&nbsp;<STRONG><A NAME="Q3_17">How do I install Apache-SOAP on Borland Application Server (BAS) 4.5?</A></STRONG><BR>
  +3.16&nbsp;&nbsp;<STRONG><A NAME="Q3_16">How do I install Apache-SOAP on Oracle 8i Application Server?</A></STRONG><BR>
  +According to the Oracle folks, SOAP should work under the latest production release of Oracle 8i, which is Oracle 8.1.7. Earlier releases of Oracle 8i (e.g 8.1.6) seem to be more awkward: the JVM bundled with 8.1.6 has a bug that affects Xerces. See here for more information: <A HREF="http://marc.theaimsgroup.com/?l=soap-user&m=98200304522497&w=2">http://marc.theaimsgroup.com/?l=soap-user&m=98200304522497&w=2</a>.<p>
  +3.18&nbsp;&nbsp;<STRONG><A NAME="Q3_18">How do I install Apache-SOAP on Borland Application Server (BAS) 4.5?</A></STRONG><BR>
   Installation of SOAP on BAS 4.5 is done in 3 steps:<BR>1) Deploy the [soap install dir]/webapps/soap.war using the deploy tool.<BR>2) Edit "[BAS451 install dir]\var\servers\[server name]\adm\properties\ias.config" and add a line like "addpath [xerces install dir]/xerces.jar" at the end of the modifiable section.<BR>3) Add the required libraries either in the appserver or in the webcontainer.<BR> <BR>See <A HREF="http://marc.theaimsgroup.com/?l=soap-user&m=99728307503567&w=2">http://marc.theaimsgroup.com/?l=soap-user&m=99728307503567&w=2</a>. Thanks to  <BR>Laurent Letellier and Colin Mondesir for this information.<p>
   
   
  @@ -300,28 +314,32 @@
   Yes. People on the soap-user mailing have reported that they have been able to successfully transfer files of up to 20Mb in size using Apache-SOAP.<p>
   5.5&nbsp;&nbsp;<STRONG><A NAME="Q5_5">What is the best way to send a large file (multiple megabytes) with a soap request?</A></STRONG><BR>
   As a MIME attachment. Note that this will use a lot of memory, because in the current Apache-SOAP implementation, the entire file is read into memory before it is sent. See <A HREF="http://xml.apache.org/soap/docs/guide/attachments.html">http://xml.apache.org/soap/docs/guide/attachments.html</a> for more information.<p>
  -5.8&nbsp;&nbsp;<STRONG><A NAME="Q5_8">Is it possible to pass parameters to the constructor in a SOAP application ?</A></STRONG><BR>
  -No, unfortunately it isn't. The SOAP server requires that you have a public no-argument constructor - this is what used to create an instance of your target service provider. <BR>An alternative to parameter passing is to load the information you need from a property file.<p>
  -5.9&nbsp;&nbsp;<STRONG><A NAME="Q5_9">How do I write a SOAP service that maintains state across a session?</A></STRONG><BR>
  +5.6&nbsp;&nbsp;<STRONG><A NAME="Q5_6">How do I add a file attachment to a SOAP response using MIME?</A></STRONG><BR>
  +See <BR>(a) The documentation - <A HREF="http://xml.apache.org/soap/docs/guide/attachments.html">http://xml.apache.org/soap/docs/guide/attachments.html</a> and <BR>(b) The code in the 'mime' folder in the Apache SOAP 'samples' directory.<p>
  +5.9&nbsp;&nbsp;<STRONG><A NAME="Q5_9">Is it possible to pass parameters to the constructor in a SOAP application ?</A></STRONG><BR>
  +No, unfortunately it isn't. The SOAP server requires that you have a public no-argument constructor - this is what used to create an instance of your target service provider. <BR>An alternative to parameter passing is to load the information you need from a property file, or to set each parameter after object instantiation.<p>
  +5.10&nbsp;&nbsp;<STRONG><A NAME="Q5_10">How do I write a SOAP service that maintains state across a session?</A></STRONG><BR>
   Both the client and the server have to be modified to use maintain state across a session:<BR><BR>(a) Setting the scope to "Session" tells the server-side to store the target object in the context of the session. You do this in the deployment descriptor (scope="Session"). <BR><BR>(b) The client side needs to be told to return the cookies that help the maintain sessions:<BR>    // Build the call.<BR>    Call call = new Call();<BR>    // We require the session to be maintained<BR>    SOAPHTTPConnection conn = new SOAPHTTPConnection();<BR>    conn.setMaintainSession(true);<BR>    call.setSOAPTransport(conn); <BR><BR>See the samples.addressbook2.Main sample code for a detailed example of how to do this.<p>
  -5.11&nbsp;&nbsp;<STRONG><A NAME="Q5_11">Is it possible to perform more than one invocation in a single SOAP request?</A></STRONG><BR>
  +5.12&nbsp;&nbsp;<STRONG><A NAME="Q5_12">Is it possible to perform more than one invocation in a single SOAP request?</A></STRONG><BR>
   No. SOAP v1.1 (see <A HREF="http://www.w3.org/TR/SOAP/">http://www.w3.org/TR/SOAP/</a>), which is what Apache SOAP implements, does not allow that.<p>
  -5.12&nbsp;&nbsp;<STRONG><A NAME="Q5_12">I would like to write a SOAP service method that returns a DOM Document (org.w3c.dom.Document). How do I do this?</A></STRONG><BR>
  +5.13&nbsp;&nbsp;<STRONG><A NAME="Q5_13">I would like to write a SOAP service method that returns a DOM Document (org.w3c.dom.Document). How do I do this?</A></STRONG><BR>
   You need to return a DOM Element rather than a Document, and you need to specify the use of Literal XML encoding for the return value. The encoding style of a Call return is determined by the encoding style of the Request. DOM Elements use Literal XML encoding. For example, if a service accepts one String Parameter and returns an Element, just set the encoding style for the call to "<A HREF="http://xml.apache.org/xml-soap/literalxml"">http://xml.apache.org/xml-soap/literalxml"</a> and the encoding style for the parameter to "<A HREF="http://schemas.xmlsoap.org/soap/encoding"">http://schemas.xmlsoap.org/soap/encoding"</a>. Thus, part of your client code would look like:<BR>...<BR>Call call = new Call();<BR>call.setTargetObjectURI("urn:someservice");<BR>call.setMethodName("callmethod");<BR>call.setEncodingStyleURI( Constants.NS_URI_LITERAL_XML );<BR>String strparam = "joebob";<BR><BR>Vector params = new Vector();<BR>params.addElement( new Parameter( "strparam", String.class,<BR>                                  strparam, Constants.NS_URI_SOAP_ENC ) );<BR>�<BR><BR>See the GetAllListings() method in the Addressbook sample for a more detailed example of how to control the return encoding style.<p>
  -5.14&nbsp;&nbsp;<STRONG><A NAME="Q5_14">I would like to pass a DOM Element as a parameter to a method. How do I do this?</A></STRONG><BR>
  +5.15&nbsp;&nbsp;<STRONG><A NAME="Q5_15">I would like to pass a DOM Element as a parameter to a method. How do I do this?</A></STRONG><BR>
   Try: <BR> params.addElement(new Parameter("name", Element.class, root,<BR>Constants.NS_URI_LITERAL_XML) ); <BR>Where <BR>- 'name' is the name of the parameter expected by the SOAP service method.<BR>- 'root' is an object of type 'Element'.<p>
  -5.15&nbsp;&nbsp;<STRONG><A NAME="Q5_15">What is the performance difference (if any) between SOAP and RMI? Are there any benchmark test results available?</A></STRONG><BR>
  +5.16&nbsp;&nbsp;<STRONG><A NAME="Q5_16">What is the performance difference (if any) between SOAP and RMI? Are there any benchmark test results available?</A></STRONG><BR>
   There aren't any official benchmark test results available, but some ad hoc testing by SOAP users suggests that RMI is about 5 times faster than an unoptimized SOAP implementation. The XML parser is considered to be the bottleneck in Apache SOAP. <BR>Bear in mind that:<BR>- Apache SOAP implementations will be optimized in the future, and RMI probably won't. <BR>- The common expectation is that eventually, SOAP implementations will provide performance that is comparable to RMI.<BR>- RMI is Java only, SOAP isn't.<p>
  -5.16&nbsp;&nbsp;<STRONG><A NAME="Q5_16">I am writing a SOAP service which returns a set of data. Is it better to return this data in an object, or as an XML data structure?</A></STRONG><BR>
  +5.17&nbsp;&nbsp;<STRONG><A NAME="Q5_17">I am writing a SOAP service which returns a set of data. Is it better to return this data in an object, or as an XML data structure?</A></STRONG><BR>
   If the clients consuming the SOAP service are all written in Java, then it is probably easier to return objects. Otherwise you should probably return your data as XML (i.e. as DOM Elements).<p>
  -5.17&nbsp;&nbsp;<STRONG><A NAME="Q5_17">Are Apache SOAP calls synchronous or asynchronous?</A></STRONG><BR>
  +5.18&nbsp;&nbsp;<STRONG><A NAME="Q5_18">Are Apache SOAP calls synchronous or asynchronous?</A></STRONG><BR>
   If you're using the HTTP transport then the calls are synchronous. If you're using the SMTP transport then calls are asynchronous. A number of people have discussed the need to provide one-way calls over HTTP - see <A HREF="http://marc.theaimsgroup.com/?l=soap-user&w=2&r=1&s=one-way&q=b">http://marc.theaimsgroup.com/?l=soap-user&w=2&r=1&s=one-way&q=b</a>.<p>
  -5.18&nbsp;&nbsp;<STRONG><A NAME="Q5_18">What is the 'best' way of sending XML data using SOAP?</A></STRONG><BR>
  +5.19&nbsp;&nbsp;<STRONG><A NAME="Q5_19">What is the 'best' way of sending XML data using SOAP?</A></STRONG><BR>
   Unfortunately there isn't a definitive answer (not yet anyway!). <BR>But here's a brief summary of the options:<BR>(a) Send the XML as a string (works ok until the string gets large, at which point performance really degrades)<BR>(b) Send the XML in the body of the Envelope (you need to marshall and unmarshall the data)<BR>(c) Send the XML as an attachment inside a message (you don't need to worry about serialisation or marshalling). See the MIME sample SOAP application for details on how to use attachments.<BR><BR>For more information, have a browse through the archives: <A HREF="http://marc.theaimsgroup.com/?l=soap-user&w=2&r=1&s=Best+way+to+send+XML&q=b">http://marc.theaimsgroup.com/?l=soap-user&w=2&r=1&s=Best+way+to+send+XML&q=b</a>.<p>
  -5.19&nbsp;&nbsp;<STRONG><A NAME="Q5_19">Does Apache SOAP use SAX or DOM for parsing/representation of XML?</A></STRONG><BR>
  +5.20&nbsp;&nbsp;<STRONG><A NAME="Q5_20">Does Apache SOAP use SAX or DOM for parsing/representation of XML?</A></STRONG><BR>
   Apache SOAP uses DOM. Axis, the next generation of Apache SOAP, is based on SAX (and performs significantly better as a result). See here for more information: <A HREF="http://xml.apache.org/axis/">http://xml.apache.org/axis/</a>.<p>
  -5.20&nbsp;&nbsp;<STRONG><A NAME="Q5_20">How does SOAP compare with CORBA?</A></STRONG><BR>
  +5.21&nbsp;&nbsp;<STRONG><A NAME="Q5_21">How does SOAP compare with CORBA?</A></STRONG><BR>
   See this article on IBM developerWorks: <A HREF="http://www-106.ibm.com/developerworks/webservices/library/ws-arc3/">http://www-106.ibm.com/developerworks/webservices/library/ws-arc3/</a><p>
  +5.22&nbsp;&nbsp;<STRONG><A NAME="Q5_22">Is it possible to compress Apache SOAP data packets?</A></STRONG><BR>
  +Neither the SOAP standard (<A HREF="http://www.w3.org/TR/SOAP/">http://www.w3.org/TR/SOAP/</a>), nor the standard distribution of Apache SOAP provide support for compression. However, a number of Apache SOAP users have suggested extensions that might allow data compression. See for example,  Robert Schmitt's comments and code: <A HREF="http://marc.theaimsgroup.com/?l=soap-user&m=100229134130643&w=2">http://marc.theaimsgroup.com/?l=soap-user&m=100229134130643&w=2</a>.<p>
   
   
   <p><H2><u>6.&nbsp;&nbsp;SOAP and Namespaces</u></H2>
  @@ -371,19 +389,31 @@
   Have a look here: <A HREF="http://www.uddi.org/whitepapers.html">http://www.uddi.org/whitepapers.html</a><p>
   8.13&nbsp;&nbsp;<STRONG><A NAME="Q8_13">The WSTK proxygen tool generates a class that requires a URL parameter in the constructor. What should I use?</A></STRONG><BR>
   I'm using the "proxygen" tool in IBM WSTK 2.4 to generate client proxy code from a WSDL file.  My problem is that the proxy class it generates requires a URL parameter in the constructor. But I want to create the proxy for an implementation, so the URL should be included in the class. How do I do this?<BR>The generated proxy class has a static field<BR> public static java.net.URL[] _KnownServiceLocations;<BR>In the constructor all known locations found in WSDL will be added to this field. So when you create the proxy object, use the first element of _KnownServiceLocations as the URL.<p>
  +8.14&nbsp;&nbsp;<STRONG><A NAME="Q8_14">Is there a simple tool which allows you to test a SOAP service using WSDL?</A></STRONG><BR>
  +Yes, there is a very nice (and freely downloadable) Java application (with GUI) which can generate and interactively test WSDL. For more information, see <A HREF="http://www.sics.se/~hamfors/">http://www.sics.se/~hamfors/</a>.<p>
  +8.15&nbsp;&nbsp;<STRONG><A NAME="Q8_15">Is there a Java API for parsing and manipulating WSDL files?</A></STRONG><BR>
  +Yes. Anne Thomas Manes reports that there's a new Java API in the works called JWSDL (JSR 110 - see <A HREF="http://www.jcp.org/jsr/detail/110.jsp">http://www.jcp.org/jsr/detail/110.jsp</a>). It's based on the WSDL4J API developed by IBM. You can obtain a preliminary implementation of JWSDL from IBM (it's part of the WSTK).<BR>Systinet (formerly Idoox) also includes a JWSDL library. You can download Systinet's SOAP implementation (WASP), which includes full support for WSDL, from <A HREF="http://www.systinet.com/">http://www.systinet.com/</a>.<p>
   
   
   <p><H2><u>9.&nbsp;&nbsp;SOAP and .NET</u></H2>
   9.1&nbsp;&nbsp;<STRONG><A NAME="Q9_1">Does Apache SOAP work with Microsoft SOAP?</A></STRONG><BR>
  -Yes, but with a number of 'gotchas'. You need to install a patch to the MS SOAP package. One of the well-known interoperability problems between Apache 2.0 and MS Soap is that MS clients do not send type information with each parameter, and the Apache soap server will reject such requests. <BR>James Snell has provided a patch adding the typing. It can be found at SOAP-WRC web site (<A HREF="http://www.soap-wrc.com/apache_ms_soap_interop.zip">http://www.soap-wrc.com/apache_ms_soap_interop.zip</a>). <BR>Both Apache and Microsoft are working hard to ensure interoperability between their SOAP implementations (in case you don't believe us, have a look here: <A HREF="http://marc.theaimsgroup.com/?l=soap-user&m=98505313219298&w=2">http://marc.theaimsgroup.com/?l=soap-user&m=98505313219298&w=2</a>).<p>
  +Yes, but with a number of 'gotchas'. You need to install a patch to the MS SOAP package. One of the well-known interoperability problems between Apache 2.0 and MS Soap is that MS clients do not send type information with each parameter, and the Apache soap server will reject such requests. <BR>Microsoft now have a useful resource page for interoperability (including articles specifically discussing integration with Apache SOAP): <A HREF="http://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsrvspec/html/globalxmlwebsrvinterop.asp?frame=true">http://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsrvspec/html/globalxmlwebsrvinterop.asp?frame=true</a>. <BR>James Snell has provided a patch adding the typing. It can be found at SOAP-WRC web site (<A HREF="http://www.soap-wrc.com/apache_ms_soap_interop.zip">http://www.soap-wrc.com/apache_ms_soap_interop.zip</a>). <BR>Both Apache and Microsoft are working hard to ensure interoperability between their SOAP implementations (in case you don't believe us, have a look here: <A HREF="http://marc.theaimsgroup.com/?l=soap-user&m=98505313219298&w=2">http://marc.theaimsgroup.com/?l=soap-user&m=98505313219298&w=2</a>).<p>
  +9.2&nbsp;&nbsp;<STRONG><A NAME="Q9_2">How do I Access a Apache SOAP Service using a Microsoft SOAP (VB) Client?</A></STRONG><BR>
  +See <A HREF="http://marc.theaimsgroup.com/?l=soap-user&m=98683038702626&amp;w=2">http://marc.theaimsgroup.com/?l=soap-user&m=98683038702626&amp;w=2</a>.<p>
  +9.3&nbsp;&nbsp;<STRONG><A NAME="Q9_3">How do I Access a Microsoft SOAP Service using an Apache SOAP Client?</A></STRONG><BR>
  +See <A HREF="http://support.microsoft.com/directory/article.asp?id=q307279">http://support.microsoft.com/directory/article.asp?id=q307279</a><p>
   9.4&nbsp;&nbsp;<STRONG><A NAME="Q9_4">Help! My Apache SOAP Client cannot connect to a .NET service - the server says it expects 'text/xml' and doesn't understand "text/xml; charset=utf-8".</A></STRONG><BR>
   There is also a kludgy workaround to allow an Apache-SOAP client to send the request with just "text/xml" in the Content-Type header. See some of the examples, e.g. samples/xmethods/GetTemp.java.<BR>SOAP users have also commented that if you upgrade to MSSoap toolkit 2.0 beta2 (or even rc0), this problem seems to go away.<p>
   9.5&nbsp;&nbsp;<STRONG><A NAME="Q9_5">Where can I find information about interoperating between an MS SOAP client and an Apache SOAP service?</A></STRONG><BR>
   Have a look here:<BR><A HREF="http://xml.apache.org/soap/docs/guide/interop.html">http://xml.apache.org/soap/docs/guide/interop.html</a> <BR><A HREF="http://www-106.ibm.com/developerworks/library/ws-ref3/?n-ws-5241">http://www-106.ibm.com/developerworks/library/ws-ref3/?n-ws-5241</a> <BR><A HREF="http://www.perfectxml.com/articles/xml/soapguide.asp">http://www.perfectxml.com/articles/xml/soapguide.asp</a><p>
  -9.7&nbsp;&nbsp;<STRONG><A NAME="Q9_7">Where can I find an example of how to use the low-level MS SOAP API?</A></STRONG><BR>
  +9.6&nbsp;&nbsp;<STRONG><A NAME="Q9_6">How do I Access a Apache SOAP Service using a Microsoft .NET (Beta 2) Client?</A></STRONG><BR>
  +Microsoft have a 'How To' document here:<BR><A HREF="http://support.microsoft.com/directory/article.asp?id=q307324">http://support.microsoft.com/directory/article.asp?id=q307324</a>. <BR>See also <A HREF="http://support.microsoft.com/directory/article.asp?id=q307318">http://support.microsoft.com/directory/article.asp?id=q307318</a><p>
  +9.8&nbsp;&nbsp;<STRONG><A NAME="Q9_8">Where can I find an example of how to use the low-level MS SOAP API?</A></STRONG><BR>
   Here is a tutorial which shows how to write a SOAP client using the MS SOAP low-level API: <A HREF="http://www.soapuser.com/client4.html">http://www.soapuser.com/client4.html</a><p>
  -9.8&nbsp;&nbsp;<STRONG><A NAME="Q9_8">How do I maintain sessions between Apache-SOAP and MS SOAP?</A></STRONG><BR>
  +9.9&nbsp;&nbsp;<STRONG><A NAME="Q9_9">How do I maintain sessions between Apache-SOAP and MS SOAP?</A></STRONG><BR>
   Unfortunately, the SOAP specifications don't say anything about session maintenance, so each implementor has done something different. MS-Soap maintains sessions through the 'IHeaderHandler' interface. Apache-SOAP uses cookies. <BR>Currently MS-Soap and Apache Soap are not interoperable as far as session maintenance is concerned this is because unlike Apache SOAP, MS-SOAP does not allow you to set cookies in the HTTP header.<p>
  +9.10&nbsp;&nbsp;<STRONG><A NAME="Q9_10">How do I exchange complex types between Apache-SOAP and MS SOAP?</A></STRONG><BR>
  +The Castor XML tool (<A HREF="http://www.castor.org">http://www.castor.org</a>) is one way of doing this. Andrew Fawcett of CODA was kind enough to make some sample code available on the Castor web site: <A HREF="http://www.castor.org/presentations.html">http://www.castor.org/presentations.html</a>.<p>
   </OL>
   
   <HR NOSHADE TITLE="Page Footer"></BODY></HTML>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: general-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: general-cvs-help@xml.apache.org