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]>