Hi, Neil
Trying to change class PollForNotificationsResponse to something else.
The reason may be when you generate client stub code, it may create same
class name again.
Also, I notice that you have private boolean more. Try to use private
Boolean more. By the way, what version of axis2 do you use?
I don't have any problem with the latest version.
Let's me know if you still have problems
From: Neil Youngman [mailto:neil.young...@wirefast.com]
Sent: Tuesday, February 03, 2009 4:08 AM
To: axis-user@ws.apache.org
Subject: Problem with complex classes in POJO
I'm trying to deploy a small service as a POJO.
A method called getNotifications() should return an array of Strings and a
boolean. Everything works just fine if I only return an array of Strings. To
add a boolean I have created a bean that has the String array and the
boolean as properties. This does not return any useful data.
The Version that works looks like
public String [] PollForNotifications( String account,
String user,
String password,
int maxResults )
throws Exception, SQLException
{
...
String [] results = new String[notifications.size()];
notifications.toArray( results );
return results;
}
To add the boolean I create the following bean class
public class PollForNotificationsResponse
{
private String[] notifications;
private boolean more;
public PollForNotificationsResponse()
{
notifications = new String [0];
more = false;
}
public String[] getNotifications()
{
return notifications;
}
public boolean isMore()
{
return more;
}
public void setNotifications( String[] p_Notifications )
{
notifications = p_Notifications;
}
public void setMore( boolean p_More )
{
more = p_More;
}
}
and change the method to
public PollForNotificationsResponse PollForNotifications( String
account,
String user,
String password,
int maxResults )
throws Exception, SQLException
{
...
String [] results = new String[notifications.size()];
notifications.toArray( results );
PollForNotificationsResponse response =
new PollForNotificationsResponse();
response.setNotifications( results );
response.setMore( more 0 );
return response;
}
and I no longer get any data back
the result looks like
ns:getResponse
ns:return type=uk.co.newslink.wsam.service.WMSSubmissionService$Address/
/ns:getResponse
Should this work? As far as I can see from the article
http://www.developer.com/java/other/article.php/10936_3726461_2, I think it
should work?
Can anyone tell me why it might not work and how I can fix or trace the
problem.
Neil
Neil Youngman
Developer
Wirefast Limited
Wirefast provides secure corporate messaging services.
See our messaging solutions at http://www.wirefast.com/
Please consider the environment.
Does this email or attachment need to be printed?
This message contains confidential information and is intended only
for the individual named. If you are not the named addressee you
should not disseminate, distribute or copy this email. Please
notify the sender immediately by email if you have received this
email by mistake and delete this email from your system.
Email transmission cannot be guaranteed to be secure or error-free
as information could be intercepted, corrupted, lost, destroyed,
arrive late or incomplete, or contain viruses. The sender therefore
does not accept liability for any errors or omissions in the contents
of this message which arise as a result of email transmission.
Wirefast Limited is registered in England Wales
Company number: 03865860
Registered Office: 7/10 Chandos Street, Cavendish Square, London, W1G 9DQ
image001.jpg