Hi
 
I added the lines suggested below to the deploy.wsdd file (actually, I only 
needed to add the encoding style URL, the rest was already there).
 
The error remains the same:
 
Exception in thread "main" AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: org.xml.sax.SAXException: Deserializing parameter 
'ProvidentResponse':  could not find deserializer for type 
{http://ProvidentConnector.ProvidentResponseToOrch}ProvidentResponse
 faultActor:
 faultNode:
 faultDetail:
 
 
Clearly I'm lacking a deserializer!
 
Does this remain a deployment issue, or is there more than meets the eye going 
on here - should I be programatically providing a deserializer?
 
Thanks in advance for any opinions proffered.
 
Pat
 

        -----Original Message----- 
        From: Ferruh Zamangoer [mailto:[EMAIL PROTECTED] 
        Sent: Mon 27/06/2005 11:13 
        To: [email protected] 
        Cc: 
        Subject: AW: deserializing error
        
        

        Yes you have to edit manually your deploy.wsdd with the following lines:

         

        <typeMapping

                xmlns:ns="http://ProvidentConnector.ProvidentResponseToOrch 
<http://ProvidentConnector.ProvidentResponseToOrch> "

                qname="ns: ProvidentResponse"

                type="java:[packagename of your class]. ProvidentResponse"

                serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"

                
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"

                encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";

              />

         

        Then you must redeploy you service.

         

        Hope it works.

         

        Regards

        Ferruh 

         

        
  _____  


        Von: Patrick Quinn [mailto:[EMAIL PROTECTED] 
        Gesendet: Sonntag, 26. Juni 2005 19:55
        An: [email protected]
        Betreff: RE: deserializing error

         

        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: [email protected]; [email protected] 
                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:[EMAIL PROTECTED]
                        Sent: Fri 24/06/2005 18:04
                        To: [email protected]
                        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" <[EMAIL PROTECTED]>
                        > An: <[email protected]>
                        > 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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
                        > Sent: 24 June 2005 16:43
                        > To: [email protected]
                        > 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"
                        >
                        >              <[EMAIL PROTECTED]
                        >
                        >              olving.com>
                        > To
                        >                                        
<[email protected]>
                        >
                        >              06/24/2005 10:08
                        > cc
                        >              AM
                        >
                        >
                        > Subject
                        >                                        deserializing 
error
                        >
                        >              Please respond to
                        >
                        >              [EMAIL PROTECTED]
                        >
                        >                   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 
______________________________________________________________________

<<winmail.dat>>

Reply via email to