I am getting to grips with using Axis (+JBoss) to expose a Stateless Session Bean as a webservice. I started off with just one method - this was fine while it was returning a String, but as soon as I changed it to a JavaBean, it stopped working. The service shows up at http://localhost:8080/axis/servlet/AxisServlet, but it has no methods listed. My wsdd and class I am attempting to (de)serialize are listed below. Is there something REALLY obvious wrong? If not, how can I work out what has gone wrong?
Chris ---- <?xml version="1.0" encoding="UTF-8"?> <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="WebBean" scope="Request" provider="java:EJB"> <parameter name="allowedMethods" value="getInvoiceDetails "/> <parameter name="beanJndiName" value="local/WebBean"/> <parameter name="homeInterfaceName" value="mypackage.WebBeanLocalHome"/> <parameter name="remoteInterfaceName" value="mypackage.WebBeanLocal"/> <parameter name="jndiURL" value="jnp://localhost:1099"/> <parameter name="jndiContextClass" value="org.jnp.interfaces.NamingContextFactory"/> <beanMapping qname="ns:InvoiceDetails" xmlns:ns="urn:OnlineInvoices" languageSpecificType="java:mypackage.InvoiceDetails"/> </service> </deployment> ---- package mypackage; public class InvoiceDetails { private String contact; private String address; private double outstanding; public InvoiceDetails(){} public String getContact() {return contact;} public void setContact(String contact) {this.contact = contact;} public String getAddress() {return address;} public void setAddress(String address) {this.address = address;} public double getOutstanding() {return outstanding;} public void setOutstanding(double outstanding) {this.outstanding = outstanding;} } ----