Hallo zusammen,
ich versuche derzeit ein WebService zu erstellen das ein Document von JDOM2 empfängt, ausliest und in eine Datenbank schreibt.
Mein Problem dabei ist, das ich es nicht schaffe eine Funktion zu erstellen das den Typ Document von JDOM2 erwartet.
So sieht meine Klasse aus:
Das ganze wird in Eclipse erstelle und auf einem Tomcat ausgeführt. Dabei erstelle ich ein Dynamic Web Project. Wenn ich mein Klasse und Logik fertig geschrieben habe führe ich es als Web Service aus (Rechtsklick auf das Projekt -> New -> Web Service).
Ich erhalte den folgenden Fehler:
Würde ich in der Methode "myMethod" die Parameter von Document auf String ändern, würde es ohne Probleme gehen.
Hat jemand eine Idee oder Ansatz wie ich den WebService ändern müsste damit das funktioniert?
ich versuche derzeit ein WebService zu erstellen das ein Document von JDOM2 empfängt, ausliest und in eine Datenbank schreibt.
Mein Problem dabei ist, das ich es nicht schaffe eine Funktion zu erstellen das den Typ Document von JDOM2 erwartet.
So sieht meine Klasse aus:
Java:
@WebService
public class myWebService {
@WebMethod
public int myMethod(@WebParam(name = "xmlDocument")Document xmlDocument){
Document doc = xmlDocument;
Element root = doc.getRootElement();
if(! root.getName().equals("myXml")){
return -1;
}
//TODO
return 1;
}
}
Das ganze wird in Eclipse erstelle und auf einem Tomcat ausgeführt. Dabei erstelle ich ein Dynamic Web Project. Wenn ich mein Klasse und Logik fertig geschrieben habe führe ich es als Web Service aus (Rechtsklick auf das Projekt -> New -> Web Service).
Ich erhalte den folgenden Fehler:
The service class "service.myWebService" does not comply to one or more requirements of the JAX-RPC 1.1 specification, and may not deploy or function correctly.
Der ErrorCode geht etwas weiter, aber es steht immer das gleich drin nur für verschiedene Klassen von JDOM2.The service class "service.myWebService" does not comply to one or more requirements of the JAX-RPC 1.1 specification, and may not deploy or function correctly.
The value type "org.jdom2.Parent" used via the service class "service.myWebService" does not have a public default constructor. Chapter 5.4 of the JAX-RPC 1.1 specification requires a value type to have a public default constructor, otherwise a JAX-RPC 1.1 compliant Web service engine may be unable to construct an instance of the value type during deserialization.
Würde ich in der Methode "myMethod" die Parameter von Document auf String ändern, würde es ohne Probleme gehen.
Hat jemand eine Idee oder Ansatz wie ich den WebService ändern müsste damit das funktioniert?