You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by je...@apache.org on 2003/03/15 13:40:23 UTC

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

jechawke    2003/03/15 04:40:23

  Modified:    targets/soap/faq faq_chawke.html
  Log:
  Added some new faq entries, made some minor corrections.
  
  Revision  Changes    Path
  1.3       +17 -52    ws-site/targets/soap/faq/faq_chawke.html
  
  Index: faq_chawke.html
  ===================================================================
  RCS file: /home/cvs/ws-site/targets/soap/faq/faq_chawke.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- faq_chawke.html	28 Jan 2003 15:33:30 -0000	1.2
  +++ faq_chawke.html	15 Mar 2003 12:40:23 -0000	1.3
  @@ -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:j_chawke@hotmail.com">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:j_chawke@hotmail.com">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>