|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: May 2005
Messaggi: 20
|
Web Service Axis
Salve ho una classe che contiene il mio servizio web:
public class SimulatorServer { private Map<String,Ab> sims = new HashMap<String,Ab>(); public void addSimulator(String simid, Ab sim) throws InstantiationException, IllegalAccessException{ sims.put(simid, sim); } ..... } Quindi quando chiamo il metodo addSimulator devo passargli un oggetto Ab: public abstract class Ab implements Serializable { private String istance; public String getIstance() { return istance; } public void setIstance(String i) { istance=i; } } Questo è il mio client che invia un oggetto Ab: public static void main(String[] args) throws MalformedURLException, RemoteException, ServiceException { String address = "http://localhost:8080/SINPL/services/SimulatorServer"; URL endPointWS = new URL(address); Service service = new Service(); Call call =(Call)service.createCall(); call.removeAllParameters(); call.setTargetEndpointAddress(endPointWS); call.addParameter("simid", XMLType.XSD_STRING, ParameterMode.IN); QName qname = new QName( "urn:SimulatorServer", "Ab" ); call.registerTypeMapping(Ab.class, qname, new org.apache.axis.encoding.ser.BeanSerializerFactory(Ab.class, qname), new org.apache.axis.encoding.ser.BeanDeserializerFactory(Ab.class, qname)); call.addParameter("sim", qname, ParameterMode.IN); call.setOperationName("addSimulator"); call.setReturnType(XMLType.AXIS_VOID); Ab dd = new BufferServant(); dd.setIstance("lll"); call.invoke(new Object[]{"a",dd}); } Invio un istanza di una sottocalsse di Ab che è BufferServant e mi da errore: Deserializing parameter 'sim': could not find deserializer for type {urn:SimulatorServer}Ab Non sapete come si passano parametri che non siano tipi standard ? Grazie. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:40.