2 Stimmen

Arrays als Parameter in Axis2 POJO Webservices?

Ich bin ein Axis2 / Webservice-Neuling und ich versuche, eine einfache POJO in einen Webservice (Code unten) zu machen. Die Klasse PieceInfo ist vermerkt mit @XmlRootElement und ich habe eine Klasse ObjectFactory die in einer Methode eine PieceInfo zurückgibt (Code unten). Methoden mit PieceInfo Arbeit, Methoden mit List<PieceInfo> o PieceInfo[] als Parameter werfen JAXB-Ausnahmen wie java.util.List is not known to this context . Ich dachte, dass List oder Array einfach gut funktionieren sollte. Was mache ich falsch?

@WebService (name="KMPService",targetNamespace="http://www.ict.ie.tss/")
@MTOM
public interface KMPServiceInterface {

@WebMethod
void updateRootInfo(String username, String password, PieceInfo info);

@WebMethod
PieceInfo getRootInfo(String username, String password);

@WebMethod
void put(String username, String password, List<PieceInfo> infoList);

@WebMethod
PieceInfo[] get(String username, String password,
    PieceInfo[] infoList);

@WebMethod
void deleteEntries(String username, String password,
    PieceInfo[] infoList);

}

ObjectFacotry:

@XmlRegistry
public class ObjectFactory {

public PieceInfo createPieceInfo(){
    return new PieceInfo();
}

 }

1voto

Carsten Punkte 4064

Die Antwort scheint zu lauten: Axis2 nicht verwenden . Mit cxf jetzt snd alles funktioniert mit Listen und Arrays out of the box.

0voto

Michael Sharek Punkte 5015

Verwenden Sie Arrays anstelle von java.util.List.

Denken Sie daran, dass Webdienste mit allem zusammenarbeiten sollen, z. B. mit .Net-Webdienst-Clients, die keine Ahnung haben, wie man ein java.util.List-Objekt erstellt, aber in der Lage sein sollten herauszufinden, wie man ein Array von PieceInfo-Objekten erstellt.

Hoffentlich sind damit die Probleme mit "nicht in diesem Kontext bekannt" beseitigt. Stellen Sie außerdem sicher, dass PieceInfo einen Null-Argument-Konstruktor hat, damit das Axis-Framework einen erstellen kann.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X