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 javax.xml.bind.JAXBContext;
 
import javax.xml.bind.Marshaller;
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;
 
public class  TestaJAXB{
    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");
       
 
        Marshaller m = context1.createMarshaller();
        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));
 
        Unmarshaller um = context2.createUnmarshaller();
        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;
        }
    }
 
    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;
    }
}
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




Atrašyti