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:[EMAIL 
PROTECTED]">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:[EMAIL 
PROTECTED]">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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to