Axis - No serializer found for class

Status
Nicht offen für weitere Antworten.

mycue1981

Mitglied
Hi Leute!

Also ich möchte mit axis komplexe typen übertragen. Das klappt in Server -> Client Richtung auch dank der super Beschreibung vonhttp://entwickler.com/sus/sus_buch/psecom,id,61,nodeid,8,_language,de.html (PDF-Probekapitel) sehr gut. In Client -> Server Richtung gibt es aber Probleme:

Klassen sind wie folgt:

Code:
public class Position  {
	
	public int Posnr;
	public String Artikelbezeichnung;

}
Code:
public class Auftrag  {
	
	public int Auftragsnummer;
	public String Kundenname;
	public ArrayList Arr = new ArrayList(); 
	public Position Positionen = new Position();
}

Vom Server zum Client gibt es keine Probleme! Die RPC Methode ist
"public Auftrag getAuftrag(int aufnr)"
liefert ein korrekt ein Auftragsobjeckt zurück!

Möchte ich aber die RPC-Methode
"public boolean setAuftrag (Auftrag auftr)"
der ein Auftragsobjekt übergeben wird dann kommt folgender Fehler:

faultString: java.io.IOException: No serializer found for class Wrapper.Position in registry org.apache.axis.encoding.TypeMappingDelegate@15311bd
.....

Mein WSDD enthält die korrekten BeanMapping Elemente:
<beanMapping qname="myNS1:Auftrag" xmlns:myNS1="Wrapper.Auftrag" languageSpecificType="java:Wrapper.Auftrag"/>
<beanMapping qname="myNS2:position" xmlns:myNS2="Wrapper.Position" languageSpecificType="java:Wrapper.Position"/>

Anscheinend kapiert AXIS zwar beim RPC-Aufruf setAuftrag das er ein Auftragsobjekt deserealisieren soll kapiert aber nicht, dass es noch ein zweites mapping zur Position gibt.

Wer kann mir da weiterhelfen?? Sehr sehr wichtig!!
Ich werde auch weiter versuchen das Problem zu lösen und falls ich fündig werde hier posten, da ich im Internet schon bemerkt habe, dass viele diese Problem haben!

Grüße mycue
 

mycue1981

Mitglied
Bei Apache Axis müssen die klassen nicht Serializable implementieren.
Mein Fehler lag woanders und zwar auf Client seite! Habe es nur durch zufall entdeckt!
Für alle die sich mit AXIS beschäftigen, verstehen das folgende:

Clientseitiger Code:

Code:
QName qnAuftrag = new QName ("http://WrapperTest", "Auftrag");
		 call.registerTypeMapping(Auftrag.class, qnAuftrag,
	                new BeanSerializerFactory(Auftrag.class, qnAuftrag),
	                new BeanDeserializerFactory(Auftrag.class, qnAuftrag));


QName qnPosition = new QName ("http://WrapperTest", "Position");
		call.registerTypeMapping(Position.class, qnPosition,
                new BeanSerializerFactory(Position.class, qnPosition),
                new BeanDeserializerFactory(Position.class, qnPosition));

Mein Fehler war ein typischer "copy paste" fehler! Ich hatte beim zweiten registerTypeMapping statt Position.class noch Auftrag.class stehen.

Verwunderlich nur das die Kommunikation zumindest in einer Richtung klappte.

Naja vielleicht hilft dieser Thread ja jemand dem der gleiche Fehler unterläüft!

Nochmal mein Tipp: Das oben gennante Buch ist in zusammenhang mit Axis unschlagbar und ich habe es mir auch schon bestellt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B TOMCAT AXIS : Probleme bei parallele Requests Server einrichten und konfigurieren 6
B Axis 2 SOAP Nachricht verdreht Server einrichten und konfigurieren 1
A Axis + WSS4J Server einrichten und konfigurieren 1
M AXIS Fehler bei WS-Security Server einrichten und konfigurieren 1
M ArrayStoreException mit Axis Server einrichten und konfigurieren 3
A AXIS Problem mit Packages beim WSDL-Aufruf Server einrichten und konfigurieren 2
I Axis mit Proxy verwenden - ich werde wahnsinnig ! HELP ! Server einrichten und konfigurieren 4
H Objekte mit Axis übertragen Server einrichten und konfigurieren 10
S Axis Webanwendung in Tomcat verfügbar machen Server einrichten und konfigurieren 2
K [Apache Axis v1.3] HTTP Basic Authentication Server einrichten und konfigurieren 1
B Web Service mit Axis Server einrichten und konfigurieren 3
K [Tomcat+Axis] SSL funktioniert nicht Server einrichten und konfigurieren 2
R axis läuft nicht Server einrichten und konfigurieren 2
G Axis Client: NoSuchMethodError Server einrichten und konfigurieren 2
A axis läuft nicht Server einrichten und konfigurieren 12
M AXIS: Eigene Exceptions an Client übertragen Server einrichten und konfigurieren 2
C Web Services mit axis Server einrichten und konfigurieren 6
Q Probleme mit Tomcat und Axis Server einrichten und konfigurieren 5
S Apache 2.2 und Tomcat 6 - Resource not found Server einrichten und konfigurieren 5

Ähnliche Java Themen

Neue Themen


Oben