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" <[email protected]>
To: "Java" <[email protected]>
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

Odpovedet emailem