Olá
Amigos!
-Estou ingressando
em desenvolvimento de uma aplicação com WebServices usando o
JAXB.
-Criei
"eschemas"(arquivos.xsd) baseados em modelos escritos em classes java e montei e
desmontei XMLs para exercitar.
-Tudo ocorreu bem
usando os exemplos do JAXB 2.0 inclusive criando situações novas, mas
apenas enquanto eu usei o ant do pacote "apache-ant".
-Com o "ant" e
Build.xml(s) foi um sucesso. E tive que integrar as classes a minha aplicação
corrente.
Reconfigurei todo o
sistema para atingir os requisitos exigidos pela nova plataforma que envolve JDK
1.5; J2EE 1.4 ; Tomcat 5.0-JWSDP.
Copiei todas os
packages(*.jar) necessários.
Mas quando se trata
de usar e compilar com a IDE (IntelliJ 5.1 e NetBeans 5.0) ; ambas se queixam de
estar com o a Classe Umarshaller esta não utiliza o método
Umarshaller um = new
Umarshaller();
um.setSchema(getSchema("Schema1.xsd")
vide
pedaço do código abaixo : Ele é idêntico ao Main.java do Exemplo do
JAXB
import java.io.File;
import java.io.FileOutputStream;
import java.util.Date;
import java.io.FileOutputStream;
import java.util.Date;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.Unmarshaller;
import
intermundi.WSActions.wsrecebe.*;
import javax.xml.bind.ValidationEvent;
import javax.xml.bind.util.ValidationEventCollector;
import javax.xml.bind.ValidationEventLocator;
import static javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Schema;
import org.xml.sax.SAXException;
import javax.xml.bind.util.ValidationEventCollector;
import javax.xml.bind.ValidationEventLocator;
import static javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Schema;
import org.xml.sax.SAXException;
public class TestaJAXB{
public static void main(String[] args) throws Exception {
final File f = new File("dispons.xml");
public static void main(String[] args) throws Exception {
final File f = new File("dispons.xml");
//
Illustrate two methods to create JAXBContext for j2s
binding.
// (1) by root classes newInstance(Class ...)
//JAXBContext context1 = JAXBContext.newInstance(RequestRoom.class);
JAXBContext context1 = JAXBContext.newInstance(RequestRoom.class); //Também não reconhece
// (2) by package, requires jaxb.index file in package cardfile.
// newInstance(String packageNames)
JAXBContext context2 = JAXBContext.newInstance("dispons");
// (1) by root classes newInstance(Class ...)
//JAXBContext context1 = JAXBContext.newInstance(RequestRoom.class);
JAXBContext context1 = JAXBContext.newInstance(RequestRoom.class); //Também não reconhece
// (2) by package, requires jaxb.index file in package cardfile.
// newInstance(String packageNames)
JAXBContext context2 = JAXBContext.newInstance("dispons");
Marshaller m
= context1.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
m.marshal(getRequest(), System.out);
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
m.marshal(getRequest(), System.out);
//
illustrate optional unmarshal
validation.
Marshaller m2 = context1.createMarshaller();
m2.marshal(getRequest(), new FileOutputStream(f));
Marshaller m2 = context1.createMarshaller();
m2.marshal(getRequest(), new FileOutputStream(f));
Unmarshaller
um =
context2.createUnmarshaller();
um.setSchema(getSchema("schema1.xsd"));
Object bce = um.unmarshal(f);
m.marshal(bce, System.out);
}
um.setSchema(getSchema("schema1.xsd"));
Object bce = um.unmarshal(f);
m.marshal(bce, System.out);
}
/** returns a JAXP 1.3 schema by
parsing the specified resource. */
static Schema getSchema(String schemaResourceName) throws SAXException {
SchemaFactory sf = SchemaFactory.newInstance(W3C_XML_SCHEMA_NS_URI);
try {
return sf.newSchema(TestaJAXB.class.getResource(schemaResourceName));
} catch (SAXException se) {
// this can only happen if there's a deployment error and the resource is missing.
throw se;
}
}
static Schema getSchema(String schemaResourceName) throws SAXException {
SchemaFactory sf = SchemaFactory.newInstance(W3C_XML_SCHEMA_NS_URI);
try {
return sf.newSchema(TestaJAXB.class.getResource(schemaResourceName));
} catch (SAXException se) {
// this can only happen if there's a deployment error and the resource is missing.
throw se;
}
}
private static RequestRoom
getRequest(){
RequestRoom teste = new RequestRoom();
//RequestRoom result = new RequestRoom("eduardo", "edu", "localhost", "PAR", "Paris", "city", "05/08/2006", 2,"07/08/2006", "3");
RequestRoom result = new RequestRoom("eduardo","edu", "localhost", "PAR",
"Paris", "city", new Date("05/08/2006"), 2,new Date("07/08/2006"), "3");
return result;
}
}
RequestRoom teste = new RequestRoom();
//RequestRoom result = new RequestRoom("eduardo", "edu", "localhost", "PAR", "Paris", "city", "05/08/2006", 2,"07/08/2006", "3");
RequestRoom result = new RequestRoom("eduardo","edu", "localhost", "PAR",
"Paris", "city", new Date("05/08/2006"), 2,new Date("07/08/2006"), "3");
return result;
}
}
Obrigado.
SPONSORED LINKS
| Basic programming language | C programming language | Computer programming languages |
| The c programming language | C programming language | List of programming languages |
YAHOO! GROUPS LINKS
- Visit your group "jug-petropolis" on the web.
- To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
- Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
