You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by di...@apache.org on 2003/01/28 16:33:32 UTC

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

dims        2003/01/28 07:33:31

  Modified:    targets/soap/faq faq_chawke.html faq_chawke_smtp.html
                        index.html
  Log:
  Updated.
  
  Revision  Changes    Path
  1.2       +3 -4      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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- faq_chawke.html	28 Jan 2003 14:53:40 -0000	1.1
  +++ faq_chawke.html	28 Jan 2003 15:33:30 -0000	1.2
  @@ -385,8 +385,7 @@
   
   <p><H2><u>7.&nbsp;&nbsp;SOAP and Serialization</u></H2>
   7.1&nbsp;&nbsp;<STRONG><A NAME="Q7_1">How do I send user defined java objects using SOAP?</A></STRONG><BR>
  -You need to map the Java object to a SOAP XML Element name. This is done using an XMLJavaMappingRegistry. Typically, you'll want to use the derived class SOAPMappingRegistry which, among other things, supports primitive types, Array and Vector objects, and the ability to be configured via an XML file (DeploymentDescriptor.xml).<BR><BR>Although not required by the SOAP specification, the Apache library requires that all XML Elements be namespace qualified via the QName utility class. You can use (almost) anything for the QName. You might think of the first piece as a "path", and the second piece as a "SOAP object." You might want to use something like the following: <BR>SOAPMappingRegistry smr = new SOAPMappingRegistry();<BR>MyObjectSerialzier myObjSer = new MyObjectSerialzier();<BR>smr.mapTypes( Constants.NS_URI_SOAP_ENC,<BR>              new QName("urn://myown.com/objects/", "MyObject"),<BR>              Object.class, myObjSer, myObjSer );<BR><BR>Then, when you deploy the service that you are calling, you must have a mapping entry that looks something like the following: <BR>isd:map encodingStyle = "<A HREF="http://schemas.xmlsoap.org/soap/encoding/"">http://schemas.xmlsoap.org/soap/encoding/"</a> <BR>    xmlns:x="urn://myown.com/objects/" qname="x:MyObject"<BR>    javaType="com.myown.objects.MyObject"<BR>    java2XMLClassName="com.myown.soap.MyObjectSerializer"<BR>    xml2JavaClassName="com.myown.soap.MyObjectSerializer"/<BR><BR>On the server side, all of this (the deployment map) basically says that when you have a com.myown.objects.POBean object to return to the caller, you want the SOAP server to use the bean serializer to translate it into a "urn://myown.com/objects/MyObject" SOAP object and send it to the client. <BR><BR>One the client side, all of this (the mapTypes() method) says that when you get a SOAP "urn://myown.com/objects/MyObject" object from the SOAP server, you would like to use the serializer called myObjSer to translate the SOAP object into a Java MyObject object. <BR><BR>The main thing you h
  -ave to do is make sure that the xmlns and qname values in your deployment descriptor file (or their equivalents in the GUI) match the values you use in your QName object. <BR><BR>Note, that it is often not necessary to write your own Serializer or Deserializer. If your class has a get and a set for each attribute that needs to be marshalled, you can just use the Apache SOAP BeanSerializer class.<p>
  +You need to map the Java object to a SOAP XML Element name. This is done using an XMLJavaMappingRegistry. Typically, you'll want to use the derived class SOAPMappingRegistry which, among other things, supports primitive types, Array and Vector objects, and the ability to be configured via an XML file (DeploymentDescriptor.xml).<BR><BR>Although not required by the SOAP specification, the Apache library requires that all XML Elements be namespace qualified via the QName utility class. You can use (almost) anything for the QName. You might think of the first piece as a "path", and the second piece as a "SOAP object." You might want to use something like the following: <BR>SOAPMappingRegistry smr = new SOAPMappingRegistry();<BR>MyObjectSerialzier myObjSer = new MyObjectSerialzier();<BR>smr.mapTypes( Constants.NS_URI_SOAP_ENC,<BR>              new QName("urn://myown.com/objects/", "MyObject"),<BR>              Object.class, myObjSer, myObjSer );<BR><BR>Then, when you deploy the service that you are calling, you must have a mapping entry that looks something like the following: <BR>isd:map encodingStyle = "<A HREF="http://schemas.xmlsoap.org/soap/encoding/"">http://schemas.xmlsoap.org/soap/encoding/"</a> <BR>    xmlns:x="urn://myown.com/objects/" qname="x:MyObject"<BR>    javaType="com.myown.objects.MyObject"<BR>    java2XMLClassName="com.myown.soap.MyObjectSerializer"<BR>    xml2JavaClassName="com.myown.soap.MyObjectSerializer"/<BR><BR>On the server side, all of this (the deployment map) basically says that when you have a com.myown.objects.POBean object to return to the caller, you want the SOAP server to use the bean serializer to translate it into a "urn://myown.com/objects/MyObject" SOAP object and send it to the client. <BR><BR>One the client side, all of this (the mapTypes() method) says that when you get a SOAP "urn://myown.com/objects/MyObject" object from the SOAP server, you would like to use the serializer called myObjSer to translate the SOAP object into a Java MyObject object. <BR><BR>The main thing you have to do is make sure that the xmlns and qname values in your deployment descriptor file (or their equivalents in the GUI) match the values you use in your QName object. <BR><BR>Note, that it is often not necessary to write your own Serializer or Deserializer. If your class has a get and a set for each attribute that needs to be marshalled, you can just use the Apache SOAP BeanSerializer class.<p>
   7.2&nbsp;&nbsp;<STRONG><A NAME="Q7_2">What are the different SOAP encoding styles? Which should I use?</A></STRONG><BR>
   The Apache SOAP library uses the 'SOAP-ENV:encodingStyle' attribute as a lookup qualifier when locating a Serializer for a Java object or a Deserializer for an XML element.<BR>The SOAP specification allows the 'encodingStyle' attribute to hold multiple URIs which denote increasingly general encoding rules. What isn't defined, however, is how a SOAP processor is to determine which encoding style to apply. Consequently, the Apache SOAP library does not support this syntax and will always treat the encodingStyle attribute value as a single URI reference.<BR>1. SOAP Encoding: This encoding style is identified by the SOAP Encoding URI <A HREF="http://schemas.xmlsoap.org/soap/encoding/">http://schemas.xmlsoap.org/soap/encoding/</a> and is described fully in Section 5 of the SOAP specification. <BR>2. XMI Encoding <BR>3. Literal XML Encoding<p>
   7.3&nbsp;&nbsp;<STRONG><A NAME="Q7_3">How do you serialize java.util.Date objects?</A></STRONG><BR>
  @@ -403,7 +402,7 @@
   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>
   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://ws.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>
  +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>
   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>
  @@ -442,7 +441,7 @@
   9.4&nbsp;&nbsp;<STRONG><A NAME="Q9_4">Help! My Apache SOAP Client cannot connect to a .NET service - the server says it expects 'text/xml' and doesn't understand "text/xml; charset=utf-8".</A></STRONG><BR>
   There is also a kludgy workaround to allow an Apache-SOAP client to send the request with just "text/xml" in the Content-Type header. See some of the examples, e.g. samples/xmethods/GetTemp.java.<BR>SOAP users have also commented that if you upgrade to MSSoap toolkit 2.0 beta2 (or even rc0), this problem seems to go away.<p>
   9.5&nbsp;&nbsp;<STRONG><A NAME="Q9_5">Where can I find information about interoperating between an MS SOAP client and an Apache SOAP service?</A></STRONG><BR>
  -Have a look here:<BR><A HREF="http://ws.apache.org/soap/docs/guide/interop.html">http://xml.apache.org/soap/docs/guide/interop.html</a> <BR><A HREF="http://www-106.ibm.com/developerworks/library/ws-ref3/?n-ws-5241">http://www-106.ibm.com/developerworks/library/ws-ref3/?n-ws-5241</a> <BR><A HREF="http://www.perfectxml.com/articles/xml/soapguide.asp">http://www.perfectxml.com/articles/xml/soapguide.asp</a><p>
  +Have a look here:<BR><A HREF="http://xml.apache.org/soap/docs/guide/interop.html">http://xml.apache.org/soap/docs/guide/interop.html</a> <BR><A HREF="http://www-106.ibm.com/developerworks/library/ws-ref3/?n-ws-5241">http://www-106.ibm.com/developerworks/library/ws-ref3/?n-ws-5241</a> <BR><A HREF="http://www.perfectxml.com/articles/xml/soapguide.asp">http://www.perfectxml.com/articles/xml/soapguide.asp</a><p>
   9.6&nbsp;&nbsp;<STRONG><A NAME="Q9_6">How do I Access a Apache SOAP Service using a Microsoft .NET (Beta 2) Client?</A></STRONG><BR>
   Microsoft have a 'How To' document here:<BR><A HREF="http://support.microsoft.com/directory/article.asp?id=q307324">http://support.microsoft.com/directory/article.asp?id=q307324</a>. <BR>See also <A HREF="http://support.microsoft.com/directory/article.asp?id=q307318">http://support.microsoft.com/directory/article.asp?id=q307318</a><p>
   9.7&nbsp;&nbsp;<STRONG><A NAME="Q9_7">Is there a mailing list for Microsoft SOAP users?</A></STRONG><BR>
  
  
  
  1.2       +3 -3      ws-site/targets/soap/faq/faq_chawke_smtp.html
  
  Index: faq_chawke_smtp.html
  ===================================================================
  RCS file: /home/cvs/ws-site/targets/soap/faq/faq_chawke_smtp.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- faq_chawke_smtp.html	28 Jan 2003 14:53:40 -0000	1.1
  +++ faq_chawke_smtp.html	28 Jan 2003 15:33:30 -0000	1.2
  @@ -26,7 +26,7 @@
   <LI>How to write a client that makes a SOAP invocation using e-mail (a combination of SMTP and POP).</LI></OL>
   
   <H2>Assumptions</H2>
  -This document assumes that you have already installed Apache SOAP [<A HREF="http://ws.apache.org/soap/index.html">http://xml.apache.org/soap/index.html</A>] onto a Tomcat [<A HREF="http://jakarta.apache.org/tomcat/index.html">http://jakarta.apache.org/tomcat/index.html</A>] 3.2 JSP/Servlet container.
  +This document assumes that you have already installed Apache SOAP [<A HREF="http://xml.apache.org/soap/index.html">http://xml.apache.org/soap/index.html</A>] onto a Tomcat [<A HREF="http://jakarta.apache.org/tomcat/index.html">http://jakarta.apache.org/tomcat/index.html</A>] 3.2 JSP/Servlet container.
   <BR>Before attempting to service SMTP SOAP messages, ensure that your installation is correctly configured for HTTP SOAP (i.e. the SOAP sample applications work over HTTP!).
   <H2>SOAP Over SMTP</H2>
   <H3>SOAP: a Transport-independent Protocol</H3>
  @@ -42,7 +42,7 @@
   <OL TYPE="a">
   </B>
   <LI>Ensure that the machine you are using is running POP3 and SMTP services (or can access another machine that provides them). Note that the scripts shown below assume that a POP3 service is running locally.</LI>
  -<LI>Download the POP3 and SMTP jar files from the Apache SOAP web site (currently they are here: <A HREF="http://ws.apache.org/dist/soap/">http://xml.apache.org/dist/soap/</A>). Note that these are IBM (and not Sun) jars, and they are also available from IBM at <A HREF="http://www.alphaworks.ibm.com/ab.nsf/techreqs/SMTP">http://www.alphaworks.ibm.com/ab.nsf/techreqs/SMTP</a> and <A HREF="http://www.alphaworks.ibm.com/ab.nsf/techreqs/POP3">http://www.alphaworks.ibm.com/ab.nsf/techreqs/POP3</a>, respectively. The SMTP bridge software uses these classes to send and receive e-mail messages.</LI>
  +<LI>Download the POP3 and SMTP jar files from the Apache SOAP web site (currently they are here: <A HREF="http://xml.apache.org/dist/soap/">http://xml.apache.org/dist/soap/</A>). Note that these are IBM (and not Sun) jars, and they are also available from IBM at <A HREF="http://www.alphaworks.ibm.com/ab.nsf/techreqs/SMTP">http://www.alphaworks.ibm.com/ab.nsf/techreqs/SMTP</a> and <A HREF="http://www.alphaworks.ibm.com/ab.nsf/techreqs/POP3">http://www.alphaworks.ibm.com/ab.nsf/techreqs/POP3</a>, respectively. The SMTP bridge software uses these classes to send and receive e-mail messages.</LI>
   <LI>Ensure that the POP3 and SMTP jar files (<CODE>pop3.jar</CODE> and <CODE>smtp.jar</CODE>) are included in your classpath.</LI>
   <LI>Create a new account (e.g. <CODE>soaprouter</CODE>) under which the SOAP bridge will execute. This makes life easier in the long term, and avoids filling your mail box with loads of XML messages!</LI>
   <LI>The Apache SOAP distribution includes a class that maps requests between HTTP and SMTP. Login to the new account and launch this Java class - it�s called <CODE>org.apache.soap.server.SMTP2HTTPBridge</CODE>. Don�t forget to include the <CODE>pop3.jar</CODE> and <CODE>smtp.jar</CODE> in your classpath or it won�t work! A sample (Unix) shell script to launch the class is provided here:</LI>
  @@ -135,7 +135,7 @@
   <H3>SOAP</H3>
   <UL>
   </B><LI>The SOAP Protocol: <A HREF="http://www.w3.org/TR/SOAP/">http://www.w3.org/TR/SOAP/</A>. </LI>
  -<LI>Apache SOAP: <A HREF="http://ws.apache.org/soap/">http://ws.apache.org/soap/</A>.</LI></UL>
  +<LI>Apache SOAP: <A HREF="http://xml.apache.org/soap/">http://xml.apache.org/soap/</A>.</LI></UL>
   
   <B><H3>Post Office Protocol (POP)</H3>
   
  
  
  
  1.2       +416 -67   ws-site/targets/soap/faq/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /home/cvs/ws-site/targets/soap/faq/index.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- index.html	28 Jan 2003 14:53:40 -0000	1.1
  +++ index.html	28 Jan 2003 15:33:30 -0000	1.2
  @@ -1,67 +1,416 @@
  -<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Apache SOAP</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/index-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
  -  <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
  -  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
  -  <IMG alt="About" border="0" height="12" hspace="0" src="graphics/index-label-1.jpg" vspace="0" width="120"><BR>
  -  <A href="features.html" onMouseOut="rolloverOff('side-features');" onMouseOver="rolloverOn('side-features');"><IMG alt="Features" border="0" height="12" hspace="0" name="side-features" onLoad="rolloverLoad('side-features','graphics/features-label-2.jpg','graphics/features-label-3.jpg');" src="graphics/features-label-3.jpg" vspace="0" width="120"></A><BR>
  -  <A href="docs/index.html" onMouseOut="rolloverOff('side-ext-10');" onMouseOver="rolloverOn('side-ext-10');"><IMG alt="Documentation" border="0" height="12" hspace="0" name="side-ext-10" onLoad="rolloverLoad('side-ext-10','graphics/ext-10-label-2.jpg','graphics/ext-10-label-3.jpg');" src="graphics/ext-10-label-3.jpg" vspace="0" width="120"></A><BR>
  -  <A href="faq/index.html" onMouseOut="rolloverOff('side-ext-12');" onMouseOver="rolloverOn('side-ext-12');"><IMG alt="FAQs" border="0" height="12" hspace="0" name="side-ext-12" onLoad="rolloverLoad('side-ext-12','graphics/ext-12-label-2.jpg','graphics/ext-12-label-3.jpg');" src="graphics/ext-12-label-3.jpg" vspace="0" width="120"></A><BR>
  -  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
  -  <A href="contributors.html" onMouseOut="rolloverOff('side-contributors');" onMouseOver="rolloverOn('side-contributors');"><IMG alt="Contributors" border="0" height="12" hspace="0" name="side-contributors" onLoad="rolloverLoad('side-contributors','graphics/contributors-label-2.jpg','graphics/contributors-label-3.jpg');" src="graphics/contributors-label-3.jpg" vspace="0" width="120"></A><BR> 
  -  <A href="mail.html" onMouseOut="rolloverOff('side-mail');" onMouseOver="rolloverOn('side-mail');"><IMG alt="Mailing Lists" border="0" height="12" hspace="0" name="side-mail" onLoad="rolloverLoad('side-mail','graphics/mail-label-2.jpg','graphics/mail-label-3.jpg');" src="graphics/mail-label-3.jpg" vspace="0" width="120"></A><BR> 
  -  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
  -  <A href="http://xml.apache.org/websrc/cvsweb.cgi/xml-soap/" onMouseOut="rolloverOff('side-ext-22');" onMouseOver="rolloverOn('side-ext-22');"><IMG alt="CVS Repository" border="0" height="12" hspace="0" name="side-ext-22" onLoad="rolloverLoad('side-ext-22','graphics/ext-22-label-2.jpg','graphics/ext-22-label-3.jpg');" src="graphics/ext-22-label-3.jpg" vspace="0" width="120"></A><BR>
  -  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
  -  <A href="releases.html" onMouseOut="rolloverOff('side-releases');" onMouseOver="rolloverOn('side-releases');"><IMG alt="Releases" border="0" height="12" hspace="0" name="side-releases" onLoad="rolloverLoad('side-releases','graphics/releases-label-2.jpg','graphics/releases-label-3.jpg');" src="graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
  -  <A href="http://xml.apache.org/dist/soap/" onMouseOut="rolloverOff('side-ext-28');" onMouseOver="rolloverOn('side-ext-28');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-ext-28" onLoad="rolloverLoad('side-ext-28','graphics/ext-28-label-2.jpg','graphics/ext-28-label-3.jpg');" src="graphics/ext-28-label-3.jpg" vspace="0" width="120"></A><BR>
  -  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
  -  <A href="http://nagoya.apache.org/bugzilla/" onMouseOut="rolloverOff('side-ext-32');" onMouseOver="rolloverOn('side-ext-32');"><IMG alt="Bugzilla" border="0" height="12" hspace="0" name="side-ext-32" onLoad="rolloverLoad('side-ext-32','graphics/ext-32-label-2.jpg','graphics/ext-32-label-3.jpg');" src="graphics/ext-32-label-3.jpg" vspace="0" width="120"></A><BR>
  -<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
  -	<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>October 27, 2002 - Nightly Builds Have Moved</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  -	<P>Nightly builds have moved to
  -	<A href="http://cvs.apache.org/dist/soap/nightly/">http://cvs.apache.org/dist/soap/nightly/</A>.
  -	Releases are still at <A href="http://xml.apache.org/dist/soap/">http://xml.apache.org/dist/soap/</A>.
  -	</P>
  -	</FONT></TD></TR></TABLE><BR>
  -	<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>June 10, 2002 - Version 2.3.1 Released</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  -	<P>Click <A href="releases.html#v2.3.1">here</A> for a list
  -	of changes.</P>
  -	</FONT></TD></TR></TABLE><BR>
  -	<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>May 31, 2002 - Version 2.3 Released</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  -	<P>Click <A href="releases.html#v2.3">here</A> for a list
  -	of changes.</P>
  -	</FONT></TD></TR></TABLE><BR>
  -	<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>May 30, 2001 - Version 2.2 Released</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  -	<P>Click <A href="releases.html#v2.2">here</A> for a list
  -	of changes.</P>
  -	</FONT></TD></TR></TABLE><BR>
  -	<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>February 5, 2001 - Version 2.1 Released</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  -	<P>Click <A href="releases.html#v2.1">here</A> for a list
  -	of changes.</P>
  -	</FONT></TD></TR></TABLE><BR>
  -	<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>About Apache SOAP</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  -	<P>Apache SOAP (&quot;Simple Object Access Protocol&quot;) is an
  -	implementation of the <A href="http://www.w3.org/TR/SOAP">SOAP submission</A> to
  -	W3C. It is based on, and supersedes, the <A href="http://www.alphaWorks.ibm.com/tech/soap4j">IBM SOAP4J
  -	implementation</A>.</P>
  -
  -        <P>From the draft W3C specification: SOAP is a lightweight
  -        protocol for exchange of information in a decentralized,
  -        distributed environment. It is an XML based protocol that
  -        consists of three parts: an envelope that defines a framework
  -        for describing what is in a message and how to process it, a
  -        set of encoding rules for expressing instances of
  -        application-defined datatypes, and a convention for
  -        representing remote procedure calls and responses. </P>
  -
  -        <P>See also the follow-on project: <A href="http://xml.apache.org/axis">Apache Axis</A>.</P>
  -	</FONT></TD></TR></TABLE><BR>
  -	<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>License Information</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  -	<P>Apache SOAP is available in both source code and precompiled binary (JAR files)
  -	form. All Apache SOAP packages are made available under the <A href="../../LICENSE">Apache
  -        Software License</A>.
  -        </P>
  -	</FONT></TD></TR></TABLE><BR>
  -</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
  -              Copyright &copy; 1999 The Apache Software Foundation.
  -              All Rights Reserved.
  -            </I></FONT></TD></TR></TABLE></BODY></HTML>
  \ No newline at end of file
  +<!-- saved from url=(0022)http://internet.e-mail -->
  +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
  +  "http://www.w3.org/TR/REC-html40/loose.dtd"
  +>
  +<html>
  +<head>
  +	<title>Apache SOAP Frequently Asked Questions (FAQ)</title>
  +	<style type="text/css">
  +	H1 { font-family : Helvetica; font-size : 14pt }
  +	P.faqTopic
  +	{
  +		font-family: Helvetica;
  +		font-size: 12pt;
  +		padding-top:0.25em;
  +	      padding-bottom:0.25em;
  +	}
  +	LI.faqQ
  +	{
  +		font-family: Helvetica;
  +		font-size: 9pt
  +	  font-weight: bold
  +	}
  +	P.faqA, LI.faqA
  +	{
  +		font-family: Times Roman;
  +		font-weight: normal
  +	}
  +	</style>
  +</head>
  +
  +<body>
  +<h1>Apache SOAP Frequently Asked Questions (FAQ)</h1>
  +<p class="faqA">
  +I have composed this list of questions partly from my own learning process
  +and partly by perusing questions from the
  +<a href="mailto:soap-user@xml.apache.org">SOAP User</a> mailing list.
  +Corrections and suggestions for new questions are always welcome.  Please
  +forward new questions - preferably with answers! - or errors to the 
  +<a href="mailto:soap-dev@xml.apache.org">SOAP Developer</a> mailing list.
  +</p>
  +
  +<p class="faqTopic">See also:</p>
  +<ul>
  +<li class="faqA">
  +<em><a href="http://www-106.ibm.com/developerworks/library/xml-messaging/">Messaging: The transport part of the XML puzzle</a></em>
  +by Gordon Van Huizen.
  +</li>
  +<li class="faqA">
  +<em><a HREF="http://www.w3.org/2000/03/29-XML-protocol-matrix">XML Protocol Comparisons</a></em>
  +produced by the W3C.
  +</li>
  +<li class="faqA">Also see the
  +<a href="http://www.develop.com/soap/soapfaq.htm">SOAP FAQ</a>
  +maintained by Developmentor.
  +</li>
  +<li class="faqA">
  +<em><a href="http://www.xmethods.com/gettingstarted/apache.html">A Quick-Start Guide for Installing Apache SOAP</a></em>
  +by XMethods.
  +</li>
  +<li class="faqA">
  +<em><a href="faq_chawke.html">Jonathan Chawke's SOAP FAQ</a></em> which will eventually be merged with
  +this FAQ and hosted on the Apache SOAP web-site.
  +</li>
  +<li class="faqA">
  +<em><a href="faq_chawke_smtp.html">SOAP and SMTP FAQ</a></em> by Jonathan Chawke.
  +</li>
  +<li class="faqA">
  +<em><a href="faq-for-WL6.1beta.html">Apache SOAP and WebLogic 6.1Beta</a></em> by Steve Livingston.
  +</li>
  +<li class="faqA">
  +Some info on <em><a href="faq_response_enc_style.html">RPC response encoding styles</a></em>
  +by Matthew J. Duftler and Dirck Hecking.
  +</li>
  +</ul>
  +
  +
  +<div id="faq_topic_namespaces" class="faqTopic">
  +  <p class="faqTopic">Namespaces</p>
  +	<ul class="faqTopic">
  +	  <li id="faq_ns_soap" class="faqQ">What are all these SOAP Namespaces?
  +		<p class="faqA">
  +		SOAP uses a few different namespaces for different elements and
  +		attributes depending on the role that the data item in question 
  +		plays in the message formatting, handling and/or encoding.
  +		Looking at the Envelope element of a typical SOAP message, we
  +		see the following namespace declarations:
  +		</p>
  +
  +		<ol>	
  +		<li><code>xmlns:SOAP-ENV="<a href="http://schemas.xmlsoap.org/soap/envelope/">http://schemas.xmlsoap.org/soap/envelope/</a>"</code></li>
  +		<li><code>xmlns:SOAP-ENC="<a href="http://schemas.xmlsoap.org/soap/encoding/">http://schemas.xmlsoap.org/soap/encoding/</a>"</code></li>
  +		<li><code>xmlns:xsi="<a href="http://www.w3.org/1999/XMLSchema-instance">http://www.w3.org/1999/XMLSchema-instance</a>"</code></li>
  +		<li><code>xmlns:xsd="<a href="http://www.w3.org/1999/XMLSchema">http://www.w3.org/1999/XMLSchema</a>"</code></li>
  +		</ol>
  +
  +		<p class="faqA">
  +		where 1) is the SOAP Envelope namespace, 2) is the SOAP Encoding
  +		namespace, 3) is the XML Schema Instance namespace and 4) is the XML Schema
  +		Definition namespace.  SOAP defines the first two namespaces
  +		and refers to the second two.  These namespaces reflect how all data type
  +		definitions in SOAP are delegated to XML Schema.
  +		</p>
  +
  +		<p class="faqA">
  +		The SOAP Envelope
  +		namespace defines the <code>Envelope</code>, <code>Header</code>
  +		and <code>Body</code> element names and the <code>encodingStyle</code>,
  +		<code>actor</code> and <code>mustUnderstand</code> attributes.
  +		</p>
  +		<p class="faqA">
  +		The SOAP Encoding namespace defines the Array element and the arrayType
  +		attribute used to encode Vector and Array java objects.  This encoding
  +		technique is recommended for any linear list of objects.  I.e. Java 2
  +		Collection objects can and probably should use this encoding approach.
  +		</p>
  +
  +    <p class="faqA">
  +		The XML Schema Instance namespace defines the <code>type</code>
  +		attribute which identifies the data type of an element.
  +    </p>
  +
  +    <p class="faqA">
  +		The XML Schema namespace defines several datatypes used
  +		as values of the <code>xsi:type</code> attribute.  Examples
  +		include: <code>int</code>, <code>String</code>, <code>double</code>,
  +		and <code>ur-type</code>.
  +    </p>
  +		
  +		</li>
  +
  +    <li id="faq_ns_my" class="faqQ">
  +		Do I need to use namespaces on my XML data?
  +	    <p class="faqA">
  +	 	The short answer is yes, but only a little.
  +		</p>
  +	    <p class="faqA">
  +		The long answer is that the serialization
  +  	registry is necessarily based on qualified names.  Thus, if
  +	 	you are marshalling/unmarshalling Java objects into XML Elements,
  +	  those element names will have to be namespace qualified.
  +		</p>
  +  		<p class="faqA">
  +		Although it is technically possible to just use one
  +		of the SOAP namespaces, it probably isn't a good idea unless the 
  +	  element name is actually defined in that namespace
  +		(i.e. defined by the
  +		<a href="http://www.w3.org/TR/SOAP">SOAP specification</a>).
  +	    </p>
  +		<p class="faqA">
  +		If you already have one or more namespaces, use them.  If you
  +		need to generate a new namespace, use something like
  +		<code>urn://acmecorp.com/whatever/</code> as the URI when you
  +		register an element name.  See
  +		<a href="#faq_topic_serialization">Serialization</a> below.
  +	    </p>
  +	</li>
  +
  +    <li id="faq_ns_prefix" class="faqQ">
  +		What are all those namespace prefixes in my SOAP messages?
  +		Won't they keep validation from working?
  +    <p class="faqA">
  +	 	The Apache SOAP library will generate namespace prefixes as needed
  +		to make sure that all necessary namespaces are declared.  If the
  +		same namespace gets declared twice with two different prefixes,
  +		the qualified names should still match with any namespace aware 
  +		software.  A qualified name is the combination of the namespace 
  +		URI plus the local part of the element name (the part after the 
  +		prefix).
  +		</p>
  +		
  +		<pre><code>
  +&lt;SOAP-ENV:Envelope
  +  ...xmlns:acme="urn://acmecorp.com/namespace"...>
  +  ...
  +  &lt;ns3:GetData xmlns:ns3="urn://acmecorp.com/namespace">
  +  &lt;/ns3:GetData>
  +  ...
  +		</code></pre>
  +
  +	    <p class="faqA">
  +		In this example, the prefix can be "ns3" or "acme".  Either way,
  +		it refers to the same namespace and, thus, for any local name,
  +		the same element or	attribute.
  +		</p>
  +	</li>
  +	</ul>
  +</div>
  +
  +<div id="faq_topic_serialization" class="faqTopic">
  +  <p class="faqTopic">Serialization</p>
  +	<ul class="faqTopic">
  +
  +	<li id="faq_s11n_user_objects" class="faqQ">
  +	How do I send user defined java objects using SOAP?
  +	<p class="faqA">
  +	You need to map the Java object to a SOAP XML Element name.  This is
  +	done using an XMLJavaMappingRegistry.  Typically, you'll want to
  +	use the derived class SOAPMappingRegistry which, among other things,
  +	supports primitive types, Array and Vector objects, and the ability
  +	to be configured via an XML file (DeploymentDescriptor.xml).
  +	</p>
  +	<p class="faqA">
  +	Although not required by the SOAP specification, the Apache library 
  +	requires that all XML Elements be namespace qualified via the 
  +	QName utility class.  You can use (almost) anything for the QName. 
  +	You might think of the first piece as a "path", and the second 
  +	piece as a "SOAP object." You might want to use something like the 
  +	following:
  +	</p>
  +
  +	<pre><code>
  +SOAPMappingRegistry smr = new SOAPMappingRegistry();
  +MyObjectSerialzier myObjSer = new MyObjectSerialzier();
  +smr.mapTypes( Constants.NS_URI_SOAP_ENC,
  +              new QName("urn://myown.com/objects/", "MyObject"),
  +              Object.class, myObjSer, myObjSer );
  +	</code></pre>
  +
  +	<p class="faqA">
  +	Then, when you deploy the service that you are calling, you must 
  +	have a mapping entry that looks something like the following:
  +	</p>
  +	<p class="faqA">
  +	<pre><code>
  +&lt;isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +    xmlns:x="urn://myown.com/objects/" qname="x:MyObject"
  +    javaType="com.myown.objects.MyObject"
  +    java2XMLClassName="com.myown.soap.MyObjectSerializer"
  +    xml2JavaClassName="com.myown.soap.MyObjectSerializer"/>
  +	</code></pre>
  +	</p>
  +	<p class="faqA">
  +	On the server side, all of this (the deployment map) basically says 
  +	that when you have a com.myown.objects.POBean object to return to 
  +	the caller, you want the SOAP server to use the bean serializer to 
  +	translate it into a "urn://myown.com/objects/MyObject" SOAP object 
  +	and send it to the client.
  +	</p>
  +	<p class="faqA">
  +	One the client side, all of this (the mapTypes() method) says that 
  +	when you get a SOAP "urn://myown.com/objects/MyObject" object from 
  +	the SOAP server, you would like to use the serializer called myObjSer
  +	to translate the SOAP object into a Java MyObject object.
  +	</p>
  +	<p class="faqA">
  +	The main thing you have to do is make sure that the xmlns and qname 
  +	values in your deployment descriptor file (or their equivalents in 
  +	the GUI) match the values you use in your QName object.
  +	</p>
  +	<p class="faqA">
  +	Note, that it is often not necessary to write your own Serializer
  +	or Deserializer.  If your class has a get and a set for each attribute 
  +	that needs to be marshalled, you can just use the Apache SOAP 
  +	BeanSerializer class.
  +	</p>
  +    </li>
  + 	
  +    <li id="faq_s11n_enc_styles" class="faqQ">
  +		What are the different SOAP encoding styles?  Which should I use?
  +		<p class="faqA">
  +		The Apache SOAP library uses the <code>SOAP-ENV:encodingStyle</code>
  +		attribute	as a lookup qualifier when locating a <code>Serializer</code>
  +		for a Java object or a <code>Deserialzier</code> for an XML element.
  +		</p>
  +		<p class="faqA">
  +		The SOAP specification allows the <code>encodingStyle</code> attribute to hold
  +		multiple URIs which denote increasingly general encoding rules.
  +		What isn't defined, however, is how a SOAP processor is to determine
  +		which encoding style to apply.  Consequently, the Apache SOAP library
  +    does not support this syntax and will always treat the <code>encodingStyle</code>
  +		attribute value as a single URI reference.
  +		</p>
  +    <ol>
  +			<li>SOAP Encoding
  +			<p class="faqA">
  +			This encoding style is identified by the SOAP Encoding URI
  +			<code>http://schemas.xmlsoap.org/soap/encoding/</code> and is
  +			described fully in <a href="http://www.w3.org/TR/SOAP#_Toc478383512">section 5</a>
  +			of the SOAP specification.
  +			</p>
  +			</li>
  +			<li>XMI Encoding</li>
  +			<li>Literal XML Encoding</li>
  +		</ol>	 	
  +		</p>
  +		</li>
  +		
  +    <li id="faq_s11n_date" class="faqQ">
  +		How do you serialize java.util.Date objects?
  +		<p class="faqA">
  +		Use BeanSerializer.  Either add a mapping for date in the deployment
  +		xml file or call SOAPMappingRegistry.mapTypes() in your application.
  +		A more "correct" DateSerializer is planned that serializes using
  +		the ISO date format.
  +		</p>
  +		<p class="faqA">
  +		Date objects should be converted to <code><a href="http://www.w3.org/TR/xmlschema-2/#date">xsd:date</a></code> or
  +		<code><a href="http://www.w3.org/TR/xmlschema-2/#timeInstant">xsd:timeInstant</a></code>
  +    to be SOAP compliant.  The SOAP spec says, "For simple types, SOAP adopts all the types
  +		found in the section
  +		<em><a href="http://www.w3.org/TR/SOAP/#_Toc478383514">Built-in datatypes</a></em>
  +		of the <em>XML Schema Part 2: Datatypes</em>", but not all have been implemented.
  +		</p>
  +		</li>
  +		
  +		
  +    <li id="faq_s11n_literalxml" class="faqQ">
  +		How do you return a DOM Element from an RPC Call?
  +		<p class="faqA">
  +		The encoding style of a Call return is determined by the encoding style
  +		of the Request.  DOM Elements use Literal XML encoding.	For example, if a service
  +		accepts one String Parameter and returns an Element,
  +		just set the encoding style for the call to "http://xml.apache.org/xml-soap/literalxml"
  +		and the encoding style for the parameter to "http://schemas.xmlsoap.org/soap/encoding".
  +		
  +		Thus, part of your client code would look like:
  +		<pre><code>
  +...
  +Call call = new Call();
  +call.setTargetObjectURI("urn:someservice");
  +call.setMethodName("callmethod");
  +call.setEncodingStyleURI( Constants.NS_URI_LITERAL_XML );
  +String strparam = "joebob";
  +
  +Vector params = new Vector();
  +params.addElement( new Parameter( "strparam", String.class,
  +                                  strparam, Constants.NS_URI_SOAP_ENC ) );
  +...
  +		</code></pre>
  +		</p>
  +		</li>
  +	
  +	</ul>
  +</div>
  +
  +<div id="faq_topic_svchandlers" class="faqTopic">
  +  <p class="faqTopic">Service Handlers</p>
  +	<ul class="faqTopic">
  +    <li id="faq_svc_actor" class="faqQ">
  +		What is an actor?
  +    <p class="faqA">
  +		Every SOAP message has primary intended recipient.  An actor is a
  +		different	message recipient that may recieve the message, and
  +		possibly modify it, before forwarding it on to either the next actor
  +		or the final, intended recipient.
  +		</p>
  +    <p class="faqA">
  +		SOAP allows <code>Header</code> entries to be addressed to specific 
  +		actors with the <code>SOAP-ENV:actor</code> attribute.  This attribute
  +		contains the URI that uniquely identifies the actor.
  +		</p>
  +		</li>
  +
  +		
  +    <li id="faq_svc_tools" class="faqQ">
  +		What tools are available that use Apache SOAP?
  +    <p class="faqA">
  +		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
  +		<a href="http://www-106.ibm.com/developerworks/library/w-wsdl.html">specification</a>
  +		and the <a href="http://www.alphaworks.ibm.com/tech/webservicestoolkit">IBM toolkit</a>.
  +		</p>
  +		</li>
  +		
  +    <li id="faq_svc_samp_install" class="faqQ">
  +		How do I get the samples installed?
  +    <p class="faqA">
  +		For Tomcat: put the soap.jar and samples classes on the system classpath
  +		(i.e, in $TOMCAT_HOME/classes,lib) rather than in webapps/soap/WEB-INF
  +		</p>
  +		</li>
  +
  +    <li id="faq_svc_webspere" class="faqQ">
  +		I am having problems configuring SOAP with Webspere!
  +	    <p class="faqA">
  +		Apache SOAP has worked under every version of WebSphere from 1.1 to 3.02.
  +		It will, however, work out of the box on WebSphere 3.5 with fixpak 2 applied.
  +		The WebSphere install instructions for that level are part of the current
  +		SOAP kit. You can browse them
  +		<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">online</a>.
  +		Be sure to check the following items:
  +		</p>
  +		<ol>
  +			<li class="faqA">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
  +			<code>http://aaa.bbb.ccc.ddd:port/soap/servlet/rpcrouter</code>.
  +			</li>
  +			<li class="faqA">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).
  +			</li>
  +		</ol>
  +		</li>
  +
  +    		<li id="faq_svc_actor" class="faqQ">
  +		Does Apache SOAP work with Microsoft SOAP?
  +    		<p class="faqA">
  +		Yes, but 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.
  +		</p>
  +		
  +    		<p class="faqA">
  +		James Snell has provided a patch adding the typing. It can be found at
  +		<a href="http://www.soap-wrc.com/apache_ms_soap_interop.zip">SOAP-WRC web site</a>.
  +		</p>
  +		</li>
  +	</ul>
  +</div>
  +
  +</body>
  +</html>