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