axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Patrick Quinn" <Patrick.Qu...@evolving.com>
Subject RE: deserializing error
Date Sun, 26 Jun 2005 17:54:50 GMT
Just bouncing this one, as the question was fairly generic:
 
> The server-config.wsdd file I notice does not have the bean mapping described by Mark.
> Should I add this manually myself?
 
Is it common for the wsdl-generated wsdd deployment files to be lacking?
 
I would have expected AXIS to cover everything off, or if not, at least provide some kind
of tutorial/guide on how to modify the deployment files where they are lacking.
 
Thanks

Pat
 

	-----Original Message----- 
	From: Patrick Quinn 
	Sent: Sat 25/06/2005 16:25 
	To: axis-user@ws.apache.org; axis-user@ws.apache.org 
	Cc: 
	Subject: RE: deserializing error
	
	

	Hi Guys
	
	Thanks for your responses, really appreciated.
	
	Yes, the code segment exists as follows:
	
	            qName = new javax.xml.namespace.QName("http://ProvidentConnector.ProvidentResponseToOrch",
"ProvidentResponse");
	            cachedSerQNames.add(qName);
	            cls = ProvidentResponseToOrch.ProvidentConnector.ProvidentResponse.class;
	            cachedSerClasses.add(cls);
	            cachedSerFactories.add(beansf);
	            cachedDeserFactories.add(beandf);
	    }
	
	I think this looks correct.
	
	The server-config.wsdd file I notice does not have the bean mapping described by Mark. Should
I add this manually myself?
	
	I'm new to Axis - I presume the server-config.wsdd is updated when a service is deployed
(using the AdminService command). So my guess is that the deploy.wsdd generated by WSDL2Java
is not generating the type mapping. Should it be doing so, or is it understood that the user
should add this information separately?
	
	Thanks again for all the help, it is very useful and enlightening.
	
	Patrick
	
	
	
	        -----Original Message-----
	        From: "Ferruh Zamangör" [mailto:ferruh.zamangoer@gmx.de]
	        Sent: Fri 24/06/2005 18:04
	        To: axis-user@ws.apache.org
	        Cc:
	        Subject: RE: deserializing error
	       
	       
	
	        Hi Patrick,
	       
	        you have a generated stub class. look at your stub class if this code
	        segement exists
	       
	        qName = new javax.xml.namespace.QName("urn:[yourpacckagename]"
	        "ProvidentResponse");
	        cachedSerQNames.add(qname);
	        cls = yourpackagename.ProvidentResponse.class;
	        cachedSerClasses.add(cls);
	        cachedSerFactories.add(beansf);
	        cachedDeserFactories.add(beandf);
	       
	        This is the code which must be in your stub class. Also you must be sure
	        that you have deployed the service with the right typeMapping how it's
	        described by Mark.
	       
	        Regards
	        Ferruh
	       
	       
	       
	        > --- Urspr√ľngliche Nachricht ---
	        > Von: "Patrick Quinn" <Patrick.Quinn@evolving.com>
	        > An: <axis-user@ws.apache.org>
	        > Betreff: RE: deserializing error
	        > Datum: Fri, 24 Jun 2005 17:00:32 +0100
	        >
	        > Thanks for the tip.
	        >
	        > The registerTypeMapping call is already made in the stub, as part of
	        > createCall():
	        >
	        >
	        >             synchronized (this) {
	        >                 if (firstCall()) {
	        >                     // must set encoding style before registering
	        > serializers
	        >                     _call.setEncodingStyle(null);
	        >                     for (int i = 0; i < cachedSerFactories.size(); ++i)
	        > {
	        >                         java.lang.Class cls = (java.lang.Class)
	        > cachedSerClasses.get(i);
	        >                         javax.xml.namespace.QName qName =
	        >                                 (javax.xml.namespace.QName)
	        > cachedSerQNames.get(i);
	        >                         java.lang.Class sf = (java.lang.Class)
	        >                                  cachedSerFactories.get(i);
	        >                         java.lang.Class df = (java.lang.Class)
	        >                                  cachedDeserFactories.get(i);
	        >                         _call.registerTypeMapping(cls, qName, sf, df,
	        > false);
	        >                     }
	        >                 }
	        >             }
	        >             return _call;
	        >
	        > Should I add your code segments to my client implementation despite
	        > this?
	        >
	        > Thanks
	        >
	        > Pat
	        >
	        > -----Original Message-----
	        > From: mmalinos@aessuccess.org [mailto:mmalinos@aessuccess.org]
	        > Sent: 24 June 2005 16:43
	        > To: axis-user@ws.apache.org
	        > Subject: Re: deserializing error
	        >
	        >
	        > Try this...
	        >
	        > QName qn = new QName("somenamespace","somequalifiedname");
	        > call.registerTypeMapping(yourbean.class,
	        >                               qn,
	        >                               new BeanSerializerFactory(yourbean.class,
	        > qn),
	        >                               new
	        > BeanDeserializerFactory(yourbean.class,
	        > qn));
	        >
	        > If you control the service, you'll need to tell the service how to
	        > deserialize.  That is done in the server-config.wsdd block for the
	        > service...
	        >
	        > <beanMapping languageSpecificType="java:com.yournamesapce.yourbean"
	        > qname=" ns1:somequalifiedname" xmlns:ns1="somenamespace"/>
	        >
	        > The namespace and qualified name need to match on both ends...
	        >
	        > Hope this helps,
	        > Mark Malinoski
	        > Consultant
	        > AES/PHEAA
	        >
	        >
	        >
	        >
	        >              "Patrick Quinn"
	        >
	        >              <Patrick.Quinn@ev
	        >
	        >              olving.com>
	        > To
	        >                                        <axis-user@ws.apache.org>
	        >
	        >              06/24/2005 10:08
	        > cc
	        >              AM
	        >
	        >
	        > Subject
	        >                                        deserializing error
	        >
	        >              Please respond to
	        >
	        >              axis-user@ws.apac
	        >
	        >                   he.org
	        >
	        >
	        >
	        >
	        >
	        >
	        >
	        >
	        >
	        >
	        >
	        > Hi
	        >
	        > Has anyone seen an error like this before, or know what needs to be done
	        > to cure it?
	        >
	        > org.xml.sax.SAXException: Deserializing parameter 'ProvidentResponse':
	        > could not find deserializer for type
	        > {http://ProvidentConnector.ProvidentResponseToOrch}ProvidentResponse
	        >
	        > The error occurs when I make the following call to the service:
	        >
	        >             String result =
	        >                 pt.SOPResponse(prvResp);
	        >
	        > where prvResp is a bean comprised of four String fields.
	        >
	        > My WSDL would appear to be fine, so I don't think that's the problem.
	        >
	        > Am I missing code for the deserializer, or am I missing something from
	        > the CLASSPATH (although I would expect a different error were this the
	        > case)?
	        >
	        > Thanks in advance
	        >
	        > Pat
	        >
	        > ______________________________________________________________________
	        > This email has been scanned by the MessageLabs Email Security System.
	        > For more information please visit http://www.messagelabs.com/email
	        > ______________________________________________________________________
	        >
	        >
	        > ______________________________________________________________________
	        > This email has been scanned by the MessageLabs Email Security System.
	        > For more information please visit http://www.messagelabs.com/email
	        > ______________________________________________________________________
	        >
	       
	        --
	        Weitersagen: GMX DSL-Flatrates mit Tempo-Garantie!
	        Ab 4,99 Euro/Monat: http://www.gmx.net/de/go/dsl
	       
	
	
	______________________________________________________________________
	This email has been scanned by the MessageLabs Email Security System.
	For more information please visit http://www.messagelabs.com/email
	______________________________________________________________________
	


______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________
Mime
View raw message