ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
1660
1660
EMPFEHLEN
-
19.02.04 15:13 #1
- Registriert seit
- Sep 2003
- Ort
- Lilienthal bei Bremen
- Beiträge
- 151
Hallo zusammen,
ich habe ne Frage (wer hätte das gedacht) zu einem Webserviceaufruf:
Ich soll einen Webservice mit 2 Argumenten aufrufen, einem "userBean" mit verschiedenen Angaben zu einem Benutzer und einen "Passwort"-String der das Passwort übermittelt. Den Bean habe ich ganz normal erstellt, definiere die Variablen und habe einen get-Methode wie eine set-Methode für jeden Wert.
Jetzt bekomme ich immer eine Fehlermeldung:
java.io.IOException: No serializer found for class packagename.userBean in registry org.apache.axis.encoding.TypeMappingImpl@110b640. Woran kann das liegen? Arbeite zum ersten Mal mit Beans, daher hab ich keine Ahnung was die Fehlermeldung bedeuten soll
.
Danke im voraus,
Thomas
-
19.02.04 15:26 #2
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo!
Kann es sein, dass du implements Serializable beim UserBean vergessen hast?
Gruß Tom
-
19.02.04 16:22 #3
- Registriert seit
- Sep 2003
- Ort
- Lilienthal bei Bremen
- Beiträge
- 151
Hi,
danke für die schnelle (superschnelle) Antwort. Ich habe nun einen serializer eingebaut, aber es klappt immer noch nicht. Vielleicht habe ich auch was mit den Beans durcheinander bekommen da ich nicht genau verstehe was die tun sollen. Für mich sind das einfach nur Klassen die Objekte darstellen
Was macht dieses serializable eigentlich?
Hier mal meine Klasse, fehlen noch ein paar Einträge (ist nicht nur einer, wollte ich aber nicht alle hier eintippen
)
package webserviceDefinition;
import java.io.Serializable;
public class userBean implements Serializable{
private String firstName;
public userBean(){
}
public userBean (String firstName){
this.firstName = firstName;
}
public void setfirstName(String firstName){
this.firstName = firstName;
}
public String getfirstName(){
return firstName;
}
}
Vielleicht kann ja jemand den Fehler daraus ersinnen,
Gruss,
Thomas
-
19.02.04 16:44 #4
- Registriert seit
- Mar 2001
- Ort
- München
- Beiträge
- 4.785
java.io.IOException: No serializer found for class packagename.userBean in registry org.apache.axis.encoding.TypeMappingImpl@110b640. Woran
Da steht packagename.userBean
in deinem Quellcode:
package webserviceDefinition;
hast du du das packagename.userBean da hingeschrieben?
Wenn nein, dann solltest du deine xml Konfigurationsdateien nochmal durchgehen
Erst wenn der letzte Programmierer eingesperrt...
...und die letzte Idee patentiert ist, werdet ihr merken, dass Anwälte nicht programmieren können.
-------------------
chris: hey Tom hast du eigentlich ne Freundin
jdar: ich bin tutorials.de Mod!
-
19.02.04 16:48 #5
- Registriert seit
- Sep 2003
- Ort
- Lilienthal bei Bremen
- Beiträge
- 151
Sorry, oben wars nur ein Beispiel, der Package-Name ist richtig
.
Trotzdem danke,
Thomas
-
30.03.04 14:24 #6fveitzen Tutorials.de Gastzugang
Hallo,
um dem Fehler auf die Spur zu kommen sollte man sich vor Augen halten was denn beim Aufruf eines WebServices mit den Daten in dem Bean passiert: sie müssen in einen SOAP-konformen XML-String umgewandelt, sprich serialisiert werden.
Das das Bean von sich aus nicht weiss wie das passiert, muss man in Axis für diesen Vorgang De-/Serializerklassen schreiben in denen die Umwandlungsregeln von/in einen XML-String ausprogrammiert werden.
Gottseidank gibt es für Standardfälle (wie eben JavaBeans) schon vordefinierte Klassen für De-/Serialisierung. Allerdings muss im ClientCode auch noch angegeben werden welcher De-/Serialisierer zu verwenden ist. und Das funktioniert so:
Service service = new Service();
Call call = (Call) service.createCall();
QName qnAntrag = new QName( "urn:BeanService", "[Name Deiner Bean]" );
call.registerTypeMapping([Name Deiner Bean].class, qnAntrag,
new org.apache.axis.encoding.ser.BeanSerializerFactory([Name Deiner Bean].class, qnAntrag),
new org.apache.axis.encoding.ser.BeanDeserializerFactory([Name Deiner Bean], qnAntrag));
Damit wird für Deine Bean im Client ein De-/Serializer registriert und Axis weiss wie es die Daten in einen XML-String umwandeln kann.
Ich hoffe damit ist Dein Problem behoben.
Ähnliche Themen
-
Matlab-Befehle aus "mex.h" bzw. "matrix.h" bringen Linker Fehler
Von Cappaja im Forum VisualStudio & MFCAntworten: 2Letzter Beitrag: 13.06.09, 12:36 -
Standart-Repositories "404 not found" (Ubuntu Breezy Badger)
Von Suchfunktion im Forum Linux & UnixAntworten: 3Letzter Beitrag: 27.04.08, 05:18 -
Eclipse und "org.apache.axis.enum"
Von exitium im Forum JavaAntworten: 2Letzter Beitrag: 12.09.07, 09:56 -
"Operating System not found"
Von Chronix im Forum HardwareAntworten: 4Letzter Beitrag: 30.04.06, 14:50 -
eigene "not found" page? Wie?
Von Subwoover im Forum PHPAntworten: 4Letzter Beitrag: 08.06.02, 17:28





Zitieren

Login





