jechawke    2003/03/15 04:32:27

  Modified:    targets/soap/faq faq_chawke.html
  Log:
  Added some new faq entries, made some minor corrections.
  
  Revision  Changes    Path
  1.13      +17 -52    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.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- faq_chawke.html   17 Oct 2002 07:45:14 -0000      1.12
  +++ faq_chawke.html   15 Mar 2003 12:32:27 -0000      1.13
  @@ -11,7 +11,7 @@
   </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 Thu 17-Oct-2002 07:44 
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 Sat 15-Mar-2003 12:27 
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><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>
  @@ -25,7 +25,6 @@
   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>
   1.10&nbsp;&nbsp;<A HREF="#Q1_10">I can't get SOAP working with Tomcat 4 
(Catalina). Help!</A><br>
  -1.11&nbsp;&nbsp;<A HREF="#Q1_11">Where can I find out about Axis?</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>
  @@ -58,14 +57,13 @@
   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>
  -2.44&nbsp;&nbsp;<A HREF="#Q2_44">I'm not sure which version of the 
Apache-SOAP jar (soap.jar) I'm using. How can I tell?</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?</A><br>
  -3.7&nbsp;&nbsp;<A HREF="#Q3_7">How do I install Apache-SOAP on Bea WebLogic 
7.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>
  +3.7&nbsp;&nbsp;<A HREF="#Q3_7">How do I install Apache-SOAP on Resin?</A><br>
   3.8&nbsp;&nbsp;<A HREF="#Q3_8">How do I install Apache-SOAP on IBM 
WebSphere?</A><br>
   3.9&nbsp;&nbsp;<A HREF="#Q3_9">How do I install Apache-SOAP on 
Bluestone?</A><br>
   3.10&nbsp;&nbsp;<A HREF="#Q3_10">How do I install Apache-SOAP on 
Orion?</A><br>
  @@ -73,10 +71,8 @@
   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.15&nbsp;&nbsp;<A HREF="#Q3_15">How do I install Apache-SOAP on 
Resin?</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>
  -3.19&nbsp;&nbsp;<A HREF="#Q3_19">How do I install Apache SOAP on MacOS 
X?</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>
  @@ -94,16 +90,11 @@
   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>
  -4.21&nbsp;&nbsp;<A HREF="#Q4_21">I think I may have an old XML/Servlet 
library which is causing problems with SOAP. How do I determine if this library 
is being used?</A><br>
  -4.22&nbsp;&nbsp;<A HREF="#Q4_22">Help! The calculator example won't work. 
I'm seeing this error: ""SOAP-ENV:Server.BadTargetObjectURI
  - - Unable to load BSF: script services not available withoutBSF: 
com.ibm.bsf.BSFManager</A><br>
  -4.23&nbsp;&nbsp;<A HREF="#Q4_23">I'm getting this error when 
sending/receiving JavaBeans: java.lang.IllegalArgumentException: Unable to 
retrieve PropertyDescriptor for property 'xxx'. Help!</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.6&nbsp;&nbsp;<A HREF="#Q5_6">How do I add a file attachment to a SOAP 
response using MIME?</A><br>
  -5.7&nbsp;&nbsp;<A HREF="#Q5_7">How do I return an MS Word document as the 
result of a SOAP method invocation?</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>
  @@ -116,7 +107,6 @@
   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>
  -5.23&nbsp;&nbsp;<A HREF="#Q5_23">What is the difference between RPC style 
SOAP and document style SOAP?</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>
  @@ -139,8 +129,6 @@
   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>
   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>
  -8.16&nbsp;&nbsp;<A HREF="#Q8_16">How do I define an array using WSDL?</A><br>
  -8.17&nbsp;&nbsp;<A HREF="#Q8_17">Is Web Services Meta Language (WSML) 
supported by Apache SOAP?</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>
  @@ -176,11 +164,9 @@
   1.8&nbsp;&nbsp;<STRONG><A NAME="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></STRONG><BR>
   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>.
 <BR>(3) Simon Fell's TcpTrace [<A 
HREF="http://www.pocketsoap.com/]";>http://www.pocketsoap.com/]</a>, which can 
handle very large data packets.<BR>(4) Iona's XMLBus product seems to include a 
similar tool called the 'SOAP Message Spy' - see <A 
HREF="http://www.xmlbus.com/work/";>http://www.xmlbus.com/work/</a>.<p>
  +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>.
 <BR>(3) Iona's XMLBus product seems to include a similar tool called the 'SOAP 
Message Spy' - see <A 
HREF="http://www.xmlbus.com/work/";>http://www.xmlbus.com/work/</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>
  -1.11&nbsp;&nbsp;<STRONG><A NAME="Q1_11">Where can I find out about 
Axis?</A></STRONG><BR>
  -Axis [<A 
HREF="http://xml.apache.org/axis/]";>http://xml.apache.org/axis/]</a> is 
essentially Apache SOAP 3.0. It is a from-scratch rewrite, designed around a 
streaming model (using SAX internally rather than DOM). The intention is to 
create a more modular, more flexible, and higher-performing SOAP implementation 
(relative to Apache SOAP 2.0).<BR>The Axis FAQ is available here: <A 
HREF="http://xml.apache.org/axis/faq.html.<BR>An">http://xml.apache.org/axis/faq.html.<BR>An</a>
 overview of Axis is available here: <A 
HREF="http://www.javaworld.com/javaworld/jw-01-2002/jw-0125-axis_p.html<BR>A">http://www.javaworld.com/javaworld/jw-01-2002/jw-0125-axis_p.html<BR>A</a>
 quick comparison of Axis to Apache SOAP is also available here:<BR><A 
HREF="http://marc.theaimsgroup.com/?l=soap-user&m=103249135518918&w=2";>http://marc.theaimsgroup.com/?l=soap-user&m=103249135518918&w=2</a>.<p>
   
   
   <p><H2><u>2.&nbsp;&nbsp;General</u></H2>
  @@ -189,9 +175,9 @@
   2.2&nbsp;&nbsp;<STRONG><A NAME="Q2_2">Where can I find mailing list archives 
for the soap-user mailing list?</A></STRONG><BR>
   Try: <A 
HREF="http://marc.theaimsgroup.com/?l=soap-user&r=1&w=2";>http://marc.theaimsgroup.com/?l=soap-user&r=1&w=2</a>
 or: <A HREF="http://archive.covalent.net/";>http://archive.covalent.net/</a>.<p>
   2.3&nbsp;&nbsp;<STRONG><A NAME="Q2_3">I'm just getting started with SOAP. 
Where can I find a tutorial on SOAP programming?</A></STRONG><BR>
  -Try these links: <BR><A 
HREF="http://www-106.ibm.com/developerworks/library/ws-peer2/";>http://www-106.ibm.com/developerworks/library/ws-peer2/</a>
 <BR><A 
HREF="http://www.soapuser.com/client2.html";>http://www.soapuser.com/client2.html</a>
 <BR><A 
HREF="http://www.soapuser.com/server1.html";>http://www.soapuser.com/server1.html</a>
   <BR><A 
HREF="http://www.perfectxml.com/articles/xml/hellosoap.asp";>http://www.perfectxml.com/articles/xml/hellosoap.asp</a>
  <BR><A 
HREF="http://www.soapwebservices.com/articles/what_is_soap.asp";>http://www.soapwebservices.com/articles/what_is_soap.asp</a>
 (shockwave flash presentation) <BR><A 
HREF="http://www.javapro.com/upload/free/features/javapro/2001/04apr01/prs0104/prs0104-1.asp";>http://www.javapro.com/upload/free/features/javapro/2001/04apr01/prs0104/prs0104-1.asp</a>
  <BR><A 
HREF="http://www.soaplite.com/#LINKS";>http://www.soaplite.com/#LINKS</a> <BR><A 
HREF="http://soap.manilasites.com/";>http://soap.manilasites.com/</a> <BR><A 
HREF="http://www.xmethods.net/gettingstarted/apache.html";>http://www.xmethods.net/gettingstarted/apache.html</a><p>
  +Try these links: <BR><A 
HREF="http://www-106.ibm.com/developerworks/library/ws-peer2/";>http://www-106.ibm.com/developerworks/library/ws-peer2/</a>
 <BR><A 
HREF="http://www.soapuser.com/client2.html";>http://www.soapuser.com/client2.html</a>
 <BR><A 
HREF="http://www.soapuser.com/server1.html";>http://www.soapuser.com/server1.html</a>
   <BR><A 
HREF="http://www.perfectxml.com/articles/xml/hellosoap.asp";>http://www.perfectxml.com/articles/xml/hellosoap.asp</a>
  <BR><A 
HREF="http://www.soapwebservices.com/articles/what_is_soap.asp";>http://www.soapwebservices.com/articles/what_is_soap.asp</a>
 (shockwave flash presentation) <BR><A 
HREF="http://www.javapro.com/upload/free/features/javapro/2001/04apr01/prs0104/prs0104-1.asp";>http://www.javapro.com/upload/free/features/javapro/2001/04apr01/prs0104/prs0104-1.asp</a>
  <BR><A HREF="http://docs.pushtotest.com/";>http://docs.pushtotest.com/</a> 
('Additional resources' section)  <BR><A 
HREF="http://www.soaplite.com/#LINKS";>http://www.soaplite.com/#LINKS</a> <BR><A 
HREF="http://soap.manilasites.com/";>http://soap.manilasites.com/</a> <BR><A 
HREF="http://www.xmethods.net/gettingstarted/apache.html";>http://www.xmethods.net/gettingstarted/apache.html</a><p>
   2.4&nbsp;&nbsp;<STRONG><A NAME="Q2_4">Are there any other SOAP FAQs 
available?</A></STRONG><BR>
  -Yes, a list of FAQs is available here: <A 
HREF="http://www.SoapRPC.com/faqs/";>http://www.SoapRPC.com/faqs/</a>. You could 
also look at the SOAP FAQ maintained by Developmentor: <A 
HREF="http://www.develop.com/soap/soapfaq.htm";>http://www.develop.com/soap/soapfaq.htm</a>,
 and the O'Reilly Web Services FAQ: <A 
HREF="http://www.oreillynet.com/lpt/a//webservices/2002/02/12/webservicefaqs.html";>http://www.oreillynet.com/lpt/a//webservices/2002/02/12/webservicefaqs.html</a>.<p>
  +Yes, a list of FAQs is available here: <A 
HREF="http://www.SoapRPC.com/faqs/";>http://www.SoapRPC.com/faqs/</a>. You could 
also look at the SOAP FAQ maintained by Developmentor: <A 
HREF="http://www.develop.com/soap/soapfaq.htm";>http://www.develop.com/soap/soapfaq.htm</a>.<p>
   2.5&nbsp;&nbsp;<STRONG><A NAME="Q2_5">Where can I download the SOAP 
specification document(s)?</A></STRONG><BR>
   SOAP 1.1 is here: <A 
HREF="http://www.w3.org/TR/SOAP";>http://www.w3.org/TR/SOAP</a>. <BR>There are 
also some other SOAP-related specs in this list: <A 
HREF="http://www.w3.org/TR/";>http://www.w3.org/TR/</a>.<p>
   2.6&nbsp;&nbsp;<STRONG><A NAME="Q2_6">Are there any good books on 
SOAP?</A></STRONG><BR>
  @@ -237,7 +223,7 @@
   2.34&nbsp;&nbsp;<STRONG><A NAME="Q2_34">What tools are available that use 
Apache SOAP?</A></STRONG><BR>
   Brought to you by the same folks that brought you UDDI, is the Web Services 
Definition Language. WSDL is an XML schema that defines documents, in XML 
format, that describe SOAP services. There is an IBM alphaWorks toolkit that 
generates Java service client libraries and service handler skeletons from a 
WSDL document. See the WSDL specification (<A 
HREF="http://www-106.ibm.com/developerworks/library/w-wsdl.html";>http://www-106.ibm.com/developerworks/library/w-wsdl.html</a>),
 and the IBM toolkit (<A 
HREF="http://www.alphaworks.ibm.com/tech/webservicestoolkit";>http://www.alphaworks.ibm.com/tech/webservicestoolkit</a>).<p>
   2.36&nbsp;&nbsp;<STRONG><A NAME="Q2_36">How do I restrict access to the 
Apache SOAP administration client?</A></STRONG><BR>
  -There are a number of possible solutions (none of which are perfect):<BR>- 
Modify your servlet container's security settings so that only certain IP 
addresses can access the admin page. If you are running Tomcat with its 
security manager, you can add an entry for the soap webapp in the .policy file 
located in the conf directory, and then you can control which IP addresses the 
webapp will accept connections from.<BR>- Modify the code - see <A 
HREF="http://soap.manilasites.com/stories/storyReader$13";>http://soap.manilasites.com/stories/storyReader$13</a>
 <BR>- Modify your firewall configuration. Some firewalls can filter on URLs, 
and you could use this to prevent accesses to the admin page (although this 
wouldn't prevent someone from running the ServiceManagerClient directly).<BR>- 
Set up your services, and then make DeployedServices.ds a read-only file. This 
will prevent anyone from adding or removing a service.<p>
  +There are a number of possible solutions (none of which are perfect):<BR>- 
Modify your servlet container's security settings so that only certain IP 
addresses can access the admin page. If you are running Tomcat with its 
security manager, you can add an entry for the soap webapp in the .policy file 
located in the conf directory, and then you can control which IP addresses the 
webapp will accept connections from.<BR>- Modify the code - see <A 
HREF="http://soap.manilasites.com/stories/storyReader$13";>http://soap.manilasites.com/stories/storyReader$13</a>
 <BR>- Modify your firewall configuration. Some firewalls can filter on URLs, 
and you could use this to prevent accesses to the admin page (although this 
wouldn't prevent someone from running the ServiceManagerClient directly).<p>
   2.38&nbsp;&nbsp;<STRONG><A NAME="Q2_38">How can I get the IP address of a 
client that is using my SOAP Service?</A></STRONG><BR>
   If you add a SOAPContext Object as first Parameter in the signature of your 
SOAP-service java-method, a 'SOAPContext' Object is passed to your class, e.g.: 
   <BR>    .mymethod(SOAPContext inContext, String inString)<BR><BR>This 
SOAPContext object gives you access to the HttpSession, HttpRequest, 
HttpResponse (see java doc for details).<BR>So, your SOAP service method can 
get the servlet request out of the context object, and then call the 
getRemoteAddr() method on the service request object: <BR><BR>import 
javax.servlet.http.*; <BR>.... <BR>HttpServletRequest req = 
<BR>(HttpServletRequest)soapCtx.getProperty(org.apache.soap.Constants.BAG_HTTPSERVLETREQUEST);
 <BR>String remoteIPAddress = req.getRemoteAddr();<BR><BR>NOTE: this will only 
work where the client and server are both using the Apache SOAP libraries.<p>
   2.40&nbsp;&nbsp;<STRONG><A NAME="Q2_40">Can a client programmatically deploy 
a SOAP service?</A></STRONG><BR>
  @@ -248,8 +234,6 @@
   There are no plans at present to support JAXM (<A 
HREF="http://java.sun.com/xml/jaxm/";>http://java.sun.com/xml/jaxm/</a>) in 
Apache SOAP. However, there are plans to provide JAXM support in Axis (<A 
HREF="http://xml.apache.org/axis/";>http://xml.apache.org/axis/</a>).<p>
   2.43&nbsp;&nbsp;<STRONG><A NAME="Q2_43">Will Apache SOAP support 
JAX-RPC?</A></STRONG><BR>
   There are no plans at present to support JAX-RPC (<A 
HREF="http://java.sun.com/xml/jaxrpc/";>http://java.sun.com/xml/jaxrpc/</a>) in 
Apache SOAP. However, the Axis (<A 
HREF="http://xml.apache.org/axis/";>http://xml.apache.org/axis/</a>) developers 
report that Axis is already moving towards full compliance with the current 
JAX-RPC draft spec.<p>
  -2.44&nbsp;&nbsp;<STRONG><A NAME="Q2_44">I'm not sure which version of the 
Apache-SOAP jar (soap.jar) I'm using. How can I tell?</A></STRONG><BR>
  -One simple way of determining the version is to look at the size of the 
jar:<BR>- The Apache-SOAP 2.0 jar is around 130 Kb<BR>- The Apache-SOAP 2.1 jar 
is around 195 Kb<BR>- The Apache-SOAP 2.2 jar is around 215 Kb<BR>- The 
Apache-SOAP 2.3.x jar is usually around 275 Kb<p>
   
   
   <p><H2><u>3.&nbsp;&nbsp;Installation</u></H2>
  @@ -263,12 +247,12 @@
   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>
   Dion Almaer has written an article about this: <A 
HREF="http://www.almaer.com/weblogic60.html";>http://www.almaer.com/weblogic60.html</a>.
 There are some additional comments here: <A 
HREF="http://marc.theaimsgroup.com/?l=soap-user&m=98808422428291&w=2";>http://marc.theaimsgroup.com/?l=soap-user&m=98808422428291&w=2</a>.<p>
  -3.6&nbsp;&nbsp;<STRONG><A NAME="Q3_6">How do I install Apache-SOAP on Bea 
WebLogic 6.1?</A></STRONG><BR>
  -It seems to be more or less the same process as that used for WebLogic 6.0, 
but there are some (new) gotchas related to JAXP. See <A 
HREF="http://xml.apache.org/soap/faq/faq-for-WL6.1beta.html";>http://xml.apache.org/soap/faq/faq-for-WL6.1beta.html</a>
 [note: when WebLogic 6.1 is released, we will merge this FAQ with the Apache 
SOAP install docs] and <A 
HREF="http://marc.theaimsgroup.com/?l=soap-user&m=99270271408539&w=2";>http://marc.theaimsgroup.com/?l=soap-user&m=99270271408539&w=2</a>.
 See also <A 
HREF="http://groups.google.com/groups?selm=9aa6e58.0201112156.c3e9724%40posting.google.com&oe=UTF8&output=gplain";>http://groups.google.com/groups?selm=9aa6e58.0201112156.c3e9724%40posting.google.com&oe=UTF8&output=gplain</a>.<p>
  -3.7&nbsp;&nbsp;<STRONG><A NAME="Q3_7">How do I install Apache-SOAP on Bea 
WebLogic 7.0?</A></STRONG><BR>
  -See instructions here: <A 
HREF="http://marc.theaimsgroup.com/?l=soap-user&m=102641868716713&w=2";>http://marc.theaimsgroup.com/?l=soap-user&m=102641868716713&w=2</a>.<p>
  +3.6&nbsp;&nbsp;<STRONG><A NAME="Q3_6">How do I install Apache-SOAP on Bea 
WebLogic 6.1 beta?</A></STRONG><BR>
  +It seems to be more or less the same process as that used for WebLogic 6.0, 
but there are some (new) gotchas related to JAXP. See <A 
HREF="http://xml.apache.org/soap/faq/faq-for-WL6.1beta.html";>http://xml.apache.org/soap/faq/faq-for-WL6.1beta.html</a>
 [note: when WebLogic 6.1 is released, we will merge this FAQ with the Apache 
SOAP install docs] and <A 
HREF="http://marc.theaimsgroup.com/?l=soap-user&m=99270271408539&w=2";>http://marc.theaimsgroup.com/?l=soap-user&m=99270271408539&w=2</a>.<p>
  +3.7&nbsp;&nbsp;<STRONG><A NAME="Q3_7">How do I install Apache-SOAP on 
Resin?</A></STRONG><BR>
  +Under Resin 1.2.3, configure a web app to point to the soap webapp directory 
(i.e.<path-to-apache-soap>/webapps/soap). See also <A 
HREF="http://marc.theaimsgroup.com/?l=soap-user&m=99650513909887&w=2";>http://marc.theaimsgroup.com/?l=soap-user&m=99650513909887&w=2</a>.<p>
   3.8&nbsp;&nbsp;<STRONG><A NAME="Q3_8">How do I install Apache-SOAP on IBM 
WebSphere?</A></STRONG><BR>
  -Apache SOAP has worked under every version of WebSphere from 1.1 to 3.02. It 
will work out of the box on WebSphere 3.5 with fixpak 2 applied. Wouter 
Cloetens has provided instructions on using Apache-SOAP with IBM Websphere v1, 
v2, and v3.0 on <A 
HREF="http://workspot.net/~zombie/soap/";>http://workspot.net/~zombie/soap/</a>. 
There are also instructions for WebSphere v3.5 in the Apache-SOAP distribution 
- see <A 
HREF="http://xml.apache.org/websrc/cvsweb.cgi/~checkout~/xml-soap/java/docs/install/websphere.html?rev=1.1&content-type=text/html&only_with_tag=MAIN";>http://xml.apache.org/websrc/cvsweb.cgi/~checkout~/xml-soap/java/docs/install/websphere.html?rev=1.1&content-type=text/html&only_with_tag=MAIN</a>.
 <BR>Be sure to check the following items: <BR>1. Explicitly set the port 
number that you have exposed the rpcrouter servlet on. Even if it is 
default(80), just mention it in the URL as <A 
HREF="http://aaa.bbb.ccc.ddd:port/soap/servlet/rpcrouter";>http://aaa.bbb.ccc.ddd:port/soap/servlet/rpcrouter</a>.
 <BR>2. Verify that xerces is at the start of your path not only by setting it 
in the App but also in the websphere configuration files (admin.config, 
setupclient.bat).<BR>There is also an IBM tutorial on using SOAP with 
Websphere:  <A 
HREF="http://www-3.ibm.com/software/webservers/appserv/doc/v40/ae/infocenter/was/0607_soap.html";>http://www-3.ibm.com/software/webservers/appserv/doc/v40/ae/infocenter/was/0607_soap.html</a>.<p>
  +Apache SOAP has worked under every version of WebSphere from 1.1 to 3.02. It 
will work out of the box on WebSphere 3.5 with fixpak 2 applied. Wouter 
Cloetens has provided instructions on using Apache-SOAP with IBM Websphere v1, 
v2, and v3.0 on <A 
HREF="http://workspot.net/~zombie/soap/";>http://workspot.net/~zombie/soap/</a>. 
There are also instructions for WebSphere v3.5 in the Apache-SOAP distribution 
- see <A 
HREF="http://xml.apache.org/websrc/cvsweb.cgi/~checkout~/xml-soap/java/docs/install/websphere.html?rev=1.1&content-type=text/html&only_with_tag=MAIN";>http://xml.apache.org/websrc/cvsweb.cgi/~checkout~/xml-soap/java/docs/install/websphere.html?rev=1.1&content-type=text/html&only_with_tag=MAIN</a>.
 <BR>Be sure to check the following items: <BR>1. Explicitly set the port 
number that you have exposed the rpcrouter servlet on. Even if it is 
default(80), just mention it in the URL as <A 
HREF="http://aaa.bbb.ccc.ddd:port/soap/servlet/rpcrouter";>http://aaa.bbb.ccc.ddd:port/soap/servlet/rpcrouter</a>.
 <BR>2. Verify that xerces is at the start of your path not only by setting it 
in the App but also in the websphere configuration files (admin.config, 
setupclient.bat).<p>
   3.9&nbsp;&nbsp;<STRONG><A NAME="Q3_9">How do I install Apache-SOAP on 
Bluestone?</A></STRONG><BR>
   The Bluestone people provide a download with instructions and samples: <A 
HREF="http://gallery.bluestone.com/scripts/SaISAPI.dll/Gallery.class/techDownloads/index.jsp";>http://gallery.bluestone.com/scripts/SaISAPI.dll/Gallery.class/techDownloads/index.jsp</a><p>
   3.10&nbsp;&nbsp;<STRONG><A NAME="Q3_10">How do I install Apache-SOAP on 
Orion?</A></STRONG><BR>
  @@ -281,14 +265,10 @@
   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.15&nbsp;&nbsp;<STRONG><A NAME="Q3_15">How do I install Apache-SOAP on 
Resin?</A></STRONG><BR>
  -Under Resin 1.2.3, configure a web app to point to the soap webapp directory 
(i.e.<path-to-apache-soap>/webapps/soap). See also <A 
HREF="http://marc.theaimsgroup.com/?l=soap-user&m=99650513909887&w=2";>http://marc.theaimsgroup.com/?l=soap-user&m=99650513909887&w=2</a>.<p>
   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>
  -3.19&nbsp;&nbsp;<STRONG><A NAME="Q3_19">How do I install Apache SOAP on 
MacOS X?</A></STRONG><BR>
  -Follow the standard installation instructions, bearing in mind one gotcha: 
see <A 
HREF="http://marc.theaimsgroup.com/?l=soap-user&m=103219627001409&w=2";>http://marc.theaimsgroup.com/?l=soap-user&m=103219627001409&w=2</a>.<p>
   
   
   <p><H2><u>4.&nbsp;&nbsp;Troubleshooting</u></H2>
  @@ -319,18 +299,11 @@
   The problem is caused by one of the following:<BR>(a) Your SOAP client isn't 
specifying the right port in the service URL, e.g.  It is using <A 
HREF="http://localhost:80/soap/servlet/rpcrouter";>http://localhost:80/soap/servlet/rpcrouter</a>
 but the SOAP service router is listening on port 8080 (i.e. <A 
HREF="http://localhost:8080/soap/servlet/rpcrouter";>http://localhost:8080/soap/servlet/rpcrouter</a>
 ). <BR>(b) Your SOAP client isn't specifying the right path in the service 
URL, e.g. it is using <A 
HREF="http://localhost:8080/rpcrouter";>http://localhost:8080/rpcrouter</a> 
instead of <A 
HREF="http://localhost:8080/soap/servlet/rpcrouter";>http://localhost:8080/soap/servlet/rpcrouter</a>.
 <BR>(c) Your application server/servlet container (e.g. Tomcat) isn't running. 
<BR>(d) If you are using Apache-SOAP in conjunction with a web server (e.g. 
Apache or IIS), ensure that the web server is also running.<p>
   4.18&nbsp;&nbsp;<STRONG><A NAME="Q4_18">Help! I'm getting this error when I 
run one of the MIME samples: "Error parsing response:
   javax.mail.MessagingException: Missing start boundary"</A></STRONG><BR>
  -Ensure that you have added activation.jar and mail.jar to your classpath.<p>
  +Ensure that you have added activation.jar and mail.jar to your classpath. 
<BR>This exception can also be caused by an incorrect HTTP Post Content-Type 
header. For attachments it should look like this:<BR>  Content-Type: 
multipart/related; boundary=MIME_boundary; type=text/xml; 
start=some-content-id<BR>If you receive Content-Type: multipart/related then 
MimeMultipart.parse() hunts for the boundary --null<p>
   4.19&nbsp;&nbsp;<STRONG><A NAME="Q4_19">Help! I'm getting this error: 
"java.lang.NoClassDefFoundError: 
javax/xml/transform/TransformerException"</A></STRONG><BR>
   The javax.xml.transform.TransformerException class is in the xalan library - 
see <A 
HREF="http://xml.apache.org/xalan-j/index.html";>http://xml.apache.org/xalan-j/index.html</a>.
 Ensure that xalan.jar is in your SOAP server's classpath. If you're using an 
XSLT library other than xalan, make sure the jar defines 
javax.xml.transform.TransformerException.<p>
   4.20&nbsp;&nbsp;<STRONG><A NAME="Q4_20">I'm getting a segmentation fault 
when I try to run SOAP on Red Hat. What's wrong?</A></STRONG><BR>
   Take a look at <A 
HREF="http://java.sun.com/j2se/1.3/jre/install-linux.html";>http://java.sun.com/j2se/1.3/jre/install-linux.html</a>.
 It describes a bug in java that causes a segmentation fault. The glibc-2.2x 
libraries don't correctly handle initial stack sizes larger than 6Mb.<BR>There 
is a workaround: Use "ulimit -s 2048" in bash shell or "limit stacksize 2048" 
in tcsh to limit the initial thread stack to 2 MB.<p>
  -4.21&nbsp;&nbsp;<STRONG><A NAME="Q4_21">I think I may have an old 
XML/Servlet library which is causing problems with SOAP. How do I determine if 
this library is being used?</A></STRONG><BR>
  -You need to figure out exactly which path/jar file a particular class is 
being loaded from. There is a tool called JWhich which can unambiguously 
determine which class will be loaded first in the classpath. See here: <A 
HREF="http://www.javaworld.com/javaworld/javatips/jw-javatip105.html";>http://www.javaworld.com/javaworld/javatips/jw-javatip105.html</a>.<p>
  -4.22&nbsp;&nbsp;<STRONG><A NAME="Q4_22">Help! The calculator example won't 
work. I'm seeing this error: ""SOAP-ENV:Server.BadTargetObjectURI
  - - Unable to load BSF: script services not available withoutBSF: 
com.ibm.bsf.BSFManager</A></STRONG><BR>
  -You might want to download bsf from<BR><A 
HREF="http://oss.software.ibm.com/developerworks/projects/bsf";>http://oss.software.ibm.com/developerworks/projects/bsf</a>
 <BR>and js from <A 
HREF="http://www.mozilla.org/rhino/download.html";>http://www.mozilla.org/rhino/download.html</a>
 <BR><BR>For more info, see:<BR><A 
HREF="http://marc.theaimsgroup.com/?l=soap-user&m=99687932626273&w=2";>http://marc.theaimsgroup.com/?l=soap-user&m=99687932626273&w=2</a><p>
  -4.23&nbsp;&nbsp;<STRONG><A NAME="Q4_23">I'm getting this error when 
sending/receiving JavaBeans: java.lang.IllegalArgumentException: Unable to 
retrieve PropertyDescriptor for property 'xxx'. Help!</A></STRONG><BR>
  -One possible cause of this error is if you are using the BeanSerializer to 
send/receive JavaBeans, and remembering to have the appropriate (presumably 
private) member variables for the property, but FORGETTING to include the 
JavaBean accessor methods. Adding public accessors may solve the problem. 
[Thanks to Richard Kennard for this entry].<p>
   
   
   <p><H2><u>5.&nbsp;&nbsp;Design and Architecture Issues</u></H2>
  @@ -344,8 +317,6 @@
   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.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.7&nbsp;&nbsp;<STRONG><A NAME="Q5_7">How do I return an MS Word document as 
the result of a SOAP method invocation?</A></STRONG><BR>
  -Yes! You can return your MS Word document as an attachment.<BR>To do that 
you have just to return a DataHandler. For more information, see: <A 
HREF="http://marc.theaimsgroup.com/?l=soap-user&m=101923233904294&w=2";>http://marc.theaimsgroup.com/?l=soap-user&m=101923233904294&w=2</a>.<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>
  @@ -370,8 +341,6 @@
   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>
  -5.23&nbsp;&nbsp;<STRONG><A NAME="Q5_23">What is the difference between RPC 
style SOAP and document style SOAP?</A></STRONG><BR>
  -RPC style SOAP is the more traditional request-response method invocation, 
but where the data is packaged as XML. Document style SOAP deals with passing 
arbitrary XML documents around as SOAP input and output (this is how SOAP is 
primarily used in .NET). For a more detailed explanation, see this article:  <A 
HREF="http://www.infoworld.com/articles/fe/xml/02/03/25/020325fejavatca.xml";>http://www.infoworld.com/articles/fe/xml/02/03/25/020325fejavatca.xml</a>.<p>
   
   
   <p><H2><u>6.&nbsp;&nbsp;SOAP and Namespaces</u></H2>
  @@ -400,9 +369,9 @@
   8.2&nbsp;&nbsp;<STRONG><A NAME="Q8_2">Does Apache SOAP use 
WSDL?</A></STRONG><BR>
   A WSDL document does not actually get used directly by the Apache SOAP API 
in any way. It is simply an XML grammer that allows non-Apache SOAP client 
applications to discover the methods and classes available in a SOAP service.<p>
   8.3&nbsp;&nbsp;<STRONG><A NAME="Q8_3">How can I generate a WSDL file for my 
SOAP service?</A></STRONG><BR>
  -You can use IBM web services toolkit - WSTK - 
(class<BR>com.ibm.wstk.swrapper.ui.SWrapperGUI) on <A 
HREF="http://www.alphaworks.ibm.com/tech/wsde";>http://www.alphaworks.ibm.com/tech/wsde</a>,
 or IBM Web services development environment on <A 
HREF="http://www.ibm.com/developerworks/webservices";>http://www.ibm.com/developerworks/webservices</a>.
 <BR><BR>You could also consider using GLUE, which includes a command line tool 
for static generation of WSDL: <A 
HREF="http://www.themindelectric.com/";>http://www.themindelectric.com/</a>. 
<BR><BR>The Apache AXIS folks are also working on a tool called java2wsdl. See 
<A HREF="http://xml.apache.org/axis/";>http://xml.apache.org/axis/</a> for more 
information. <BR><BR>SilverStream now provide a product called jBrokerWeb which 
includes compilers to convert WSDL to Java and vice versa. See <A 
HREF="http://extend.silverstream.com/workbench/app/jsp/jbrokerweb.jsp";>http://extend.silverstream.com/workbench/app/jsp/jbrokerweb.jsp</a>
 for more information.<p>
  +You can use IBM web services toolkit - WSTK - 
(class<BR>com.ibm.wstk.swrapper.ui.SWrapperGUI) on <A 
HREF="http://www.alphaworks.ibm.com/tech/wsde";>http://www.alphaworks.ibm.com/tech/wsde</a>,
 or IBM Web services development environment on <A 
HREF="http://www.ibm.com/developerworks/webservices";>http://www.ibm.com/developerworks/webservices</a>.
 <BR><BR>You could also consider using GLUE, which includes a command line tool 
for static generation of WSDL: <A 
HREF="http://www.themindelectric.com/";>http://www.themindelectric.com/</a>. 
<BR><BR>The Apache AXIS folks are also working on a tool called java2wsdl. See 
<A HREF="http://xml.apache.org/axis/";>http://xml.apache.org/axis/</a> for more 
information.<BR><BR>SilverStream now provide a product called jBrokerWeb which 
includes compilers to convert WSDL to Java and vice versa. See <A 
HREF="http://extend.silverstream.com/workbench/app/jsp/jbrokerweb.jsp";>http://extend.silverstream.com/workbench/app/jsp/jbrokerweb.jsp</a>
 for more information.<p>
   8.4&nbsp;&nbsp;<STRONG><A NAME="Q8_4">How can I generate Java code from an 
existing WSDL file?</A></STRONG><BR>
  -Apache Axis [<A 
HREF="http://xml.apache.org/axis/]";>http://xml.apache.org/axis/]</a> includes a 
tool for generating Java stubs from WSDL files. Bear in mind that the output of 
WSDL2Java won't always work with Apache SOAP - see <A 
HREF="http://marc.theaimsgroup.com/?l=soap-user&m=103235649515321&w=2.<BR><BR>WASP">http://marc.theaimsgroup.com/?l=soap-user&m=103235649515321&w=2.<BR><BR>WASP</a>
 from Systinet (formerly Idoox) includes a tool called WSDLCompiler. It is able 
to generate Java and JavaScript code from WSDL 1.1. It is available at <A 
HREF="http://www.systinet.com/.<BR><BR>GLUE">http://www.systinet.com/.<BR><BR>GLUE</a>
 from The Mind Electric includes a tool called 'wsdl2java' which also does 
this. See <A 
HREF="http://www.themindelectric.com/";>http://www.themindelectric.com/</a>.<p>
  +WASP from Systinet (formerly Idoox) includes a tool called WSDLCompiler. It 
is able to generate Java and JavaScript code from WSDL 1.1. It is available at 
<A 
HREF="http://www.systinet.com/.<BR><BR>GLUE">http://www.systinet.com/.<BR><BR>GLUE</a>
 from The Mind Electric includes a tool called 'wsdl2java' which also does 
this. See <A 
HREF="http://www.themindelectric.com/";>http://www.themindelectric.com/</a>.<p>
   8.5&nbsp;&nbsp;<STRONG><A NAME="Q8_5">Is there a command-line utility that I 
can use to generate WSDL stub and skeleton files?</A></STRONG><BR>
   Yes - the IBM web services toolkit (<A 
HREF="http://www.ibm.com/developerworks/webservices/";>http://www.ibm.com/developerworks/webservices/</a>)
 includes a command-line java application that should do what you want: 
<BR>.com.ibm.wsdl.Main -?<BR>Note that:<BR>(a) It is in the wsdl.jar 
library.<BR>(b) Passing in '-?' (without the apostrophes) gets you a list of 
available commands that the class supports.<p>
   8.6&nbsp;&nbsp;<STRONG><A NAME="Q8_6">Is there a tool that can validate 
WSDL?</A></STRONG><BR>
  @@ -425,17 +394,13 @@
   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>
  -8.16&nbsp;&nbsp;<STRONG><A NAME="Q8_16">How do I define an array using 
WSDL?</A></STRONG><BR>
  -See <A 
HREF="http://www.soapware.org/bdg#arrays";>http://www.soapware.org/bdg#arrays</a>.<p>
  -8.17&nbsp;&nbsp;<STRONG><A NAME="Q8_17">Is Web Services Meta Language (WSML) 
supported by Apache SOAP?</A></STRONG><BR>
  -WSML is COM specific - see [<A 
HREF="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/soap/htm/soap_overview_72r0.asp]";>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/soap/htm/soap_overview_72r0.asp]</a>.
 <BR>A WSML file is used to describe the mapping between a service (as 
described in the WSDL file) and the methods which implement it in a COM object. 
<BR>The Axis/Java equivalent is WSDD (Web Service Deployment Descriptor). 
<BR>The WSDL2Java program can generate WSDD documents.<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>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>
  +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>).<BR>There
 are other problems with SOAP interoperability (in general) which are discussed 
here: <A 
HREF="http://www-106.ibm.com/developerworks/webservices/library/ws-inter.html";>http://www-106.ibm.com/developerworks/webservices/library/ws-inter.html</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:<BR>(a) <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>.
 <BR>(b) See here for an example of a VB6 client using the high-level API in 
the MS SOAP toolkit: <A 
HREF="http://www.scottnichol.com/vbclienthiapachesoap.htm";>http://www.scottnichol.com/vbclienthiapachesoap.htm</a>.
 <BR>(c) See here for an example of a VB6 client using the low-level API in the 
MS SOAP toolkit: <BR><A 
HREF="http://www.scottnichol.com/vbclientapachesoap.htm";>http://www.scottnichol.com/vbclientapachesoap.htm</a>.<p>
  +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>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to