The AddressBook sample in Apache SOAP is an example of serializing objects
that are Java Beans.  This is done with the BeanSerializer.

The best text documentation for Apache SOAP is included with the
distribution.  The User's Guide includes some information on Creating Type
Mappings, although not with an example of a customer [de-]serializer.  Of
course, the most detailed and accurate documentation is the source code
itself.

Roughly speaking, a QName is a fully qualified XML element or attribute
name.  By fully qualified, I mean it is both the namespace and the local
part of the name.

You may find some tutorials helpful.  You could just do a Google search
(i.e. help thyself), but here are a couple of suggestions:

http://www.javaworld.com/javaworld/jw-03-2001/jw-0330-soap.html (be sure to
read parts 2 and 3, too)
http://www.onjava.com/pub/a/onjava/2002/02/27/tomcat.html
http://www.soapuser.com/server1.html

Scott Nichol

----- Original Message -----
From: "Indrasish N Basuroychowdhury"
<[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Thursday, July 11, 2002 12:09 PM
Subject: Sending/Receiving objetcs. Please, Please, Please ... help.


> Hope people do not get tired with me as I am sending this message
repeatedly.
> I need help for sending/receiving objects as well as
serializing/deserializing them.
> Can anyone help me in findinf example of how to do it and what type of
objects I can send and
> receive (I know String Boolean, Int, Double etc.) How about any object I
want to send /receive.
> Also, I would like to know about QName. What exactly is it and where/how
do we use it.
> Experts please help me. It is a question of retaining my job now.
> Also, where is a good documentation for Apache soap?
>
> Thanks,
>
> Indrasish.
>
> [EMAIL PROTECTED] wrote:
>
> > snichol     2002/07/11 08:45:54
> >
> >   Modified:    java/src/org/apache/soap/server/http ServerHTTPUtils.java
> >                java/docs changes.html
> >   Log:
> >   Remove deadlock for a service that in the constructor invokes
> >   another service when both services are at application scope.  The
> >   deadlock still occurs if both services are at session scope.
> >
> >   Based on a technique submitted by Adam Moore ([EMAIL PROTECTED]).
> >
> >   Revision  Changes    Path
> >   1.24      +18 -5
xml-soap/java/src/org/apache/soap/server/http/ServerHTTPUtils.java
> >
> >   Index: ServerHTTPUtils.java
> >   ===================================================================
> >   RCS file:
/home/cvs/xml-soap/java/src/org/apache/soap/server/http/ServerHTTPUtils.java
,v
> >   retrieving revision 1.23
> >   retrieving revision 1.24
> >   diff -u -r1.23 -r1.24
> >   --- ServerHTTPUtils.java      25 Jun 2002 05:16:27 -0000      1.23
> >   +++ ServerHTTPUtils.java      11 Jul 2002 15:45:53 -0000      1.24
> >   @@ -246,7 +246,20 @@
> >        } else if (scope == DeploymentDescriptor.SCOPE_SESSION) {
> >          scopeLock = session;
> >        } else if (scope == DeploymentDescriptor.SCOPE_APPLICATION) {
> >   -      scopeLock = context;
> >   +      try {
> >   +        scopeLock = ctxt.loadClass(className);
> >   +      } catch (ClassNotFoundException e) {
> >   +        String msg;
> >   +        if (providerType == DeploymentDescriptor.PROVIDER_JAVA ||
> >   +            providerType ==
DeploymentDescriptor.PROVIDER_USER_DEFINED) {
> >   +          msg = "Unable to resolve target object at application
scope: " + e.getMessage ();
> >   +        } else {
> >   +          msg = "Unable to load BSF at application scope: script
services not available " +
> >   +            "without BSF: " + e.getMessage ();
> >   +        }
> >   +        throw new SOAPException (
> >   +          Constants.FAULT_CODE_SERVER_BAD_TARGET_OBJECT_URI, msg, e);
> >   +      }
> >        } else {
> >          throw new SOAPException (Constants.FAULT_CODE_SERVER,
> >                                   "Service uses deprecated object scope
" +
> >   @@ -264,10 +277,10 @@
> >          // locate (or create) the target object and invoke the method
> >          if ( scopeLock == null ) scopeLock = className ; // Just pick
something
> >          synchronized (scopeLock) {
> >   -        if (scopeLock == session) {
> >   +        if (scope == DeploymentDescriptor.SCOPE_SESSION) {
> >              // targetObject = session.getAttribute (targetID);
> >              targetObject = session.getValue (targetID);
> >   -        } else if (scopeLock == context) {
> >   +        } else if (scope == DeploymentDescriptor.SCOPE_APPLICATION) {
> >              targetObject = context.getAttribute (targetID);
> >            } else {
> >              targetObject = null;
> >   @@ -295,10 +308,10 @@
> >                // remember the created instance if the scope is not
REQUEST;
> >                // in that case the object is to be thrown away after
handling
> >                // the request
> >   -            if (scopeLock == session) {
> >   +            if (scope == DeploymentDescriptor.SCOPE_SESSION) {
> >                  session.putValue (targetID, targetObject);
> >                  // session.setAttribute (targetID, targetObject);
> >   -            } else if (scopeLock == context) {
> >   +            } else if (scope ==
DeploymentDescriptor.SCOPE_APPLICATION) {
> >                  context.setAttribute (targetID, targetObject);
> >                }
> >              } catch (Exception e) {
> >
> >
> >
> >   1.32      +3 -0      xml-soap/java/docs/changes.html
> >
> >   Index: changes.html
> >   ===================================================================
> >   RCS file: /home/cvs/xml-soap/java/docs/changes.html,v
> >   retrieving revision 1.31
> >   retrieving revision 1.32
> >   diff -u -r1.31 -r1.32
> >   --- changes.html      28 Jun 2002 03:07:35 -0000      1.31
> >   +++ changes.html      11 Jul 2002 15:45:54 -0000      1.32
> >   @@ -46,6 +46,9 @@
> >          multi-reference serialization is supported.  Added a sample to
> >          demonstrate serialization and deserialization of a cyclic graph
> >          of beans.</li>
> >   +      <li>Remove deadlock for a service that in the constructor
invokes
> >   +      another service when both services are at application scope.
The
> >   +      deadlock still occurs if both services are at session
scope.</li>
> >        </ul>
> >      </li>
> >    </ul>
> >
> >
> >
> >
> > --
> > To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
>
>
>
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
>
>


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

Reply via email to