JAXB generovani java bean

Pavel Škop pskop na volny.cz
Úterý Listopad 23 23:46:02 CET 2010


Ahoj,
nevím, zda jsem přesně pochopil podstatu potíží.
Nicméně  tuhle jsem se potřeboval zbavit JAXBElement<T> typů - pomohlo, když 
se v XSD pojmenované komplexní typy, změnily na anonymní, které se zasadí 
rovnou do elementů. Při tomto tvaru XSD  mi zmizely JAXElement<T> z 
generované Javy, a neporušil jsem definici XML.

U Datových schránek nezměníš XSD, možná by to ale šlo změnit jen u sebe pro 
jednorázové
vygenerování (pokud to půjde tak, aby se nezměnil kontrakt) - jako poslední 
možnost :-).

Pavel Škop

----- Original Message ----- 
From: "Tomas Vojtech" <tom.vojtech na seznam.cz>
To: "Java" <konference na java.cz>
Sent: Saturday, November 20, 2010 6:33 PM
Subject: JAXB generovani java bean


Ahoj,

mám trochu problém s generováním trid z xsd. Pro některé elementy mi xjc
vygeneruje třídy a pro některé ne.

Při generování se používá extension file obsahující následující:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jaxb:extensionBindingPrefixes="xjc"
jaxb:version="2.0">

<xs:annotation>
<xs:appinfo>
<jaxb:globalBindings>
<xjc:simple/>
</jaxb:globalBindings>
</xs:appinfo>
</xs:annotation>
</xs:schema>


Jinak se třídy pro elementy negenerují vůbec.

Konkrétně se jedná o volání webové služby. Zavolám
WebServiceTemplate#marshalSendAndReceive a dám ji vygenerovaný request
objekt. Ten se marshaluje a odešle. Ale pro odpověď už nemám objekt a
tak mi metoda vrátí jen JAXBElement.

Napadá někoho co můžu dělat špatně?

Jinak jedná se o xsd z
http://www.czebox.cz/static/pages/dokumentace.zip, v tom je v
/wsdl/datove_zpravy/dmBaseTypes.xsd. Konkrétně GetListOfReceivedMessages
třídu mám, ale GetListOfReceivedMessagesResponse ne.

Díky
TV



--------------------------------------------------------------------------------



Pŕîchozî zpráva neobsahuje viry.
Zkontrolováno AVG - www.avg.cz
Verze: 9.0.869 / Virová báze: 271.1.1/3271 - Datum vydánî: 11/21/10 20:35:00



Další informace o konferenci Konference