axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bryan.Doll...@correspondence.school.nz
Subject Re: Unregistered Deserializer???
Date Wed, 11 Jun 2003 05:33:56 GMT

Hiya,

The exact error message is:

  No deserializer for {urn:BeanService}com.greenpulse.demo.model.Student

Here's the client code and the wsdd file:

WSDD:
<?xml version="1.0" encoding="ISO-8859-1"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java
="http://xml.apache.org/axis/wsdd/providers/java">
      <service name="students2" provider="java:RPC" style="rpc" use
="encoded">
            <parameter name="className" value
="com.greenpulse.demo.model.Students"/>
            <parameter name="allowedMethods" value="*"/>
            <beanMapping qname="myNS:com.greenpulse.demo.model.Student"
xmlns:myNS="urn:BeanService" languageSpecificType
="java:com.greenpulse.demo.model.Student"/>
      </service>
</deployment>


client method:
private static void getStudents(String search) throws ServiceException,
RemoteException
{
      System.out.println("Getting students");
      Service service = new Service();
      Call call = (Call) service.createCall();
      call.registerTypeMapping(Student.class,
      new QName("urn:BeanService",
         "com.greenpulse.demo.model.Student"),
        BeanSerializerFactory.class,
        BeanDeserializerFactory.class, true);

      call.setTargetEndpointAddress(ADDRESS);
      call.setOperation("getByName");
      String[] args = {search};
      System.out.println("invoking");
      Object o = call.invoke(args);
      System.out.println("o = " + o);
}

And, here's the signature for the method that's being called on Students:

      public Vector getByName(String name)

Cheers,

Bryan


                                                                                         
                              
                      Venkatesh Kancharla                                                
                              
                      <venkatesh@strandge        To:       axis-user@ws.apache.org    
                                 
                      nomics.com>                cc:                                  
                                 
                                                 Subject:  Re: Unregistered Deserializer???
                            
                      10/06/2003 05:51                                                   
                              
                      p.m.                                                               
                              
                      Please respond to                                                  
                              
                      axis-user                                                          
                              
                                                                                         
                              
                                                                                         
                              




Can you post your deploy.wsdd file?? and client code..
You have to add a type mapping for Vector at the client side.

Venkatesh Kancharla
Associate (Software)
Strand Genomics (http://www.strandgenomics.com)
Bangalore, India

Ph no: 3618992,93, 94, 95 (ext-210)

---------------------------------------------------------------------
      If Necessity Is the Mother of Invention,
         then frustration Is Its Father
                                                       -unknown
---------------------------------------------------------------------

On Tue, 10 Jun 2003 Bryan.Dollery@correspondence.school.nz wrote:

>
> Hi Venkatesh,
>
> I've just tried your idea, and it doesn't seem to work for me. I've added
a
> bean mapping for java.util.Vector, as you suggested, following the model
> from the code I originally posted, and I've added another
> registerTypeMapping to call for Vector using VectorSerialiser and
> VectorDeserialiser. I'm still getting the same error, which is telling me
> that there is no deserialiser for Student.
>
> Cheers,
>
> Bryan
>
>
>
>

>                       Venkatesh Kancharla

>                       <venkatesh@strandge        To:
axis-user@ws.apache.org
>                       nomics.com>                cc:

>                                                  Subject:  Re:
Unregistered Deserializer???
>                       10/06/2003 03:48

>                       p.m.

>                       Please respond to

>                       axis-user

>

>

>
>
>
>
> Hi Bryan,
>     You are returning a vector. So, you need to specify serializer for
> both vector and Student.
>
>
> Venkatesh Kancharla
> Associate (Software)
> Strand Genomics (http://www.strandgenomics.com)
> Bangalore, India
>
> Ph no: 3618992,93, 94, 95 (ext-210)
>
> ---------------------------------------------------------------------
>       If Necessity Is the Mother of Invention,
>          then frustration Is Its Father
>                                                        -unknown
> ---------------------------------------------------------------------
>
> On Tue, 10 Jun 2003 Bryan.Dollery@correspondence.school.nz wrote:
>
> > Hi,
> >
> > I'm trying to return an array of beans, and am having problems. I'm
using
> > axis 1.1 rc2. The first message I got was that my student class had no
> > registered serializer, so I added this to my deploy.wsdd:
> >
> >   <beanMapping
> >          qname="myNS:com.greenpulse.demo.model.Student"
> >          xmlns:myNS="urn:BeanService"
> >          languageSpecificType="java:com.greenpulse.demo.model.Student"
> >   />
> >
> > Then I got a message about their being no registered deserializer, so I
> > added this to my simple client class:
> >
> >   call.registerTypeMapping(Student.class,
> >       new QName("urn:BeanService",
> >         "com.greenpulse.demo.model.Student"),
> >       BeanSerializerFactory.class,
> >       BeanDeserializerFactory.class);
> >
> >
> > However, this didn't help.
> >
> > So, I'm lost, and would appreciate some help :-)
> >
> > Here's my java and deployment files:
> >
> > TIA -- Bryan
> >
> > Main:
> > private static void getStudents(String search) throws ServiceException,
> > RemoteException
> > {
> >       System.out.println("Getting students");
> >       Service service = new Service();
> >       Call call = (Call) service.createCall();
> >       call.registerTypeMapping(Student.class,
> >              new QName("urn:BeanService",
> >                "com.greenpulse.demo.model.Student"),
> >              BeanSerializerFactory.class,
> >              BeanDeserializerFactory.class);
> >
> >       call.setTargetEndpointAddress(ADDRESS);
> >       call.setOperation("getByName");
> >       String[] args = {search};
> >       System.out.println("invoking");
> >       Object o = call.invoke(args);
> >       System.out.println("o = " + o);
> > }
> >
> > --
> >
> > Students.java
> > package com.greenpulse.demo.model;
> >
> > import java.util.Vector;
> >
> > public class Students
> > {
> >       public Vector getByName(String name)
> >       {
> >             Vector v = new Vector();
> >             for (int i = 0; i < 10; i++)
> >                   v.add(new Student("id " + i,
> >                                                       "male",
> >                                                       "25/12/1980",
> >                                                       "En",
> >                                                       "comment " + i,
> >                                                       "email" + i + "
> > @nowhere.com",
> >                                                       "Mr",
> >                                                       "family " + i,
> >                                                       "given " + i));
> >             return v;
> >       }
> > }
> >
> > --
> > Student.java
> > package com.greenpulse.demo.model;
> >
> > import java.io.Serializable;
> >
> > /**
> >  * Correspondence School (c) 2003 All rights reserved
> >  * www.demo.greenpulse.com
> >  */
> > public class Student
> > {
> >       private String studentID;
> >       private String gender;
> >       private String birthDate;
> >       private String FirstLanguage;
> >       private String comment;
> >       private String email;
> >       private String title;
> >       private String familyName;
> >       private String givenNames;
> >
> >       public Student()
> >       {
> >       }
> >
> >       public Student(String studentID, String gender, String birthDate,
> > String firstLanguage, String comment, String email, String title,
String
> > familyName, String givenNames)
> >       {
> >             this.setStudentID(studentID);
> >             this.setGender(gender);
> >             this.setBirthDate(birthDate);
> >             this.setFirstLanguage(firstLanguage);
> >             this.setComment(comment);
> >             this.setEmail(email);
> >             this.setTitle(title);
> >             this.setFamilyName(familyName);
> >             this.setGivenNames(givenNames);
> >       }
> >
> >       public String getStudentID()
> >       {
> >             return studentID;
> >       }
> >
> >       public void setStudentID(String studentID)
> >       {
> >             this.studentID = studentID;
> >       }
> >
> >       public String getGender()
> >       {
> >             return gender;
> >       }
> >
> >       public void setGender(String gender)
> >       {
> >             this.gender = gender;
> >       }
> >
> >       public String getBirthDate()
> >       {
> >             return birthDate;
> >       }
> >
> >       public void setBirthDate(String birthDate)
> >       {
> >             this.birthDate = birthDate;
> >       }
> >
> >       public String getFirstLanguage()
> >       {
> >             return FirstLanguage;
> >       }
> >
> >       public void setFirstLanguage(String firstLanguage)
> >       {
> >             FirstLanguage = firstLanguage;
> >       }
> >
> >       public String getComment()
> >       {
> >             return comment;
> >       }
> >
> >       public void setComment(String comment)
> >       {
> >             this.comment = comment;
> >       }
> >
> >       public String getEmail()
> >       {
> >             return email;
> >       }
> >
> >       public void setEmail(String email)
> >       {
> >             this.email = email;
> >       }
> >
> >       public String getTitle()
> >       {
> >             return title;
> >       }
> >
> >       public void setTitle(String title)
> >       {
> >             this.title = title;
> >       }
> >
> >       public String getFamilyName()
> >       {
> >             return familyName;
> >       }
> >
> >       public void setFamilyName(String familyName)
> >       {
> >             this.familyName = familyName;
> >       }
> >
> >       public String getGivenNames()
> >       {
> >             return givenNames;
> >       }
> >
> >       public void setGivenNames(String givenNames)
> >       {
> >             this.givenNames = givenNames;
> >       }
> >
> >       public String toString()
> >       {
> >             return this.studentID + " " +
> >                         this.gender + " " +
> >                         this.birthDate + " " +
> >                         this.FirstLanguage + " \"" +
> >                         this.comment + "\" " +
> >                         this.email + " " +
> >                         this.title + " " +
> >                         this.familyName + " " +
> >                         this.givenNames;
> >
> >       }
> > }
> >
> >
> > Cheers,
> >
> > Bryan
> >
> >
>
>
>
>
>
>







Mime
View raw message