JAXB bzw. JAX-WS WSDL-Generierung

R

reNur

Gast
Hallo,

ich will einfach einen kleinen Webservice schreiben, der z.B. die Funktion

public someObject setStrings( String[] s ) anbietet.
Diese Methode wird entsprechend annotiert,
also

Java:
@WebMethod
public someObject setStrings(
@WebParam(name = "lds_id") String[] s
);

und in JBoss AS 6 deployed. Mein Problem:
Die Methoden-Argumente des Typs String[] werden nicht auf eine Liste des Typs String gemappt, sondern als neue klasse StringArray im targetNamespace="http://jaxb.dev.java.net/array".
Das passiert mit allen Arrays, also auch mit double[], int[] usw.

D.h. wenn ich mir mit wsimport die Java-Files auf Clientseite erzeuge, werden auch die "StringArray" Klassen erzeugt (die intern wiederum eine Liste von Strings enthalten).

Das komische: Wenn ich - wie z.B. in der obigen Methode - ein komplexes Object (someObject) habe, das als Attribute Arrays hat, dann werden diese richtig gemappt, d.h. auf Clientseite als Listen von Strings.

Wie oder wo kann ich das default mapping einstellen? Bin sehr verwirrt, so weit ich das in den Dokus von Jaxb gelesen habe, muss man erst ein complex object erstellen, wenn man Arrays mit mehr als 2 Dimensionen verschicken will. Hat jemand einen Tipp?
 
R

reNur

Gast
Sorry für die späte Antwort.

Auch mit dem List-Interface werden mir diese "blöden" *Array Klassen erzeugt.

Beispiel:

Java:
@WebMethod
	public void testMethod( @WebParam List<String> stringList )
	{
		LOG.info( "in test method..." );
	}

wsimport generiert mir für diese Methode eigene Klassen, die ich dann benutzen muss. Auf Clientseite kann ich die Methode über den Webservice nur über folgende Signatur aufrufen:

Java:
testMethod( net.java.dev.jaxb.array.StringArray stringArray )
ist dieses Verhalten normal?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Klassen via JAXB erfolgreich generiert, wie geht es nun weiter? SOA 7
A JAXB Unmarshaller Fehler SOA 6
P Jaxb Type mapping SOA 2
T Rest Webservice der 2 verschiedene XML Objekte(JaxB) entgegennimmt SOA 10
P WSDL Generierung mit Axis 2 falsch? SOA 3
D [SOAP] wsdl & maven & java 1.8 SOA 6
M Fehlermeldung beim Einbinden der wsdl in SoapUI invalid__wsdl SOA 10
N WSDL verändern der deploy loacation SOA 2
B Was ist falsch an meiner WSDL Datei? SOA 2
Z WSDL, Apache CXF und soapUI SOA 9
N Webservice Einbinden wsdl SOA 7
E WSDL Exception mit SOAPUI SOA 4
J Wie kann ich meine WSDL Datei kommentieren? SOA 2
G WSDL Java C# SOA 8
G WebService WSDL SOA 3
B WSDL-Datei Funktionsnamen falsch SOA 2
G WSDL namespace schemaLocation SOA 2
G WebService mit wsdl erstellen SOA 4
H Axis2 dynamische URL zu WSDL SOA 2
E wsdl into Java-Klassen Maven-Plugin SOA 2
N Java -> WSDL char mit max-Length SOA 5
P WSDL: Wie definiert man eine Nachricht ohne Übergabeparameter? SOA 10
AndyHa XSD in WSDL wird nicht kompiliert SOA 4
G Stub generieren (WSDL=Axis1.4) (WSDL2JAVA=Axis2) SOA 11
S WSDL xml invalid SOA 1
N Request-XML-String -> AXIS2 -> WSDL-Check -> Respon SOA 2
I SOAP WSDL und UDDI SOA 12
L webservice frage (eclipse/wtp, wsdl) SOA 12

Ähnliche Java Themen

Neue Themen


Oben