Ver Mensaje Individual
  #24 (permalink)  
Antiguo 16/03/2016, 11:24
EstherSL
 
Fecha de Ingreso: enero-2016
Mensajes: 25
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: Problemas con org.apache.axis.utils.XMLUtils

Es cierto que me falta mucho por aprender todavia sobre java, pero tambien os he preguntado cosas muy concretas sobre mi proyecto por no cargaros mucho de información, pero es verdad que al final es posible que no se entienda bien...y menos por aqui...

No utilizo un main(), es un servlet que dentro de su doPost() llama a una función que crea un fichero XML con cierta información, en concreto la función que me crea ese XML es:

public static String Crear(String arg) throws ParserConfigurationException, IOException, TransformerException {

// Declaración del nombre del fichero XML
String fichero = "directorio.xml";

// Obtención del TransfomerFactory y del Transformer a partir de él.
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance ( );
DocumentBuilder builder = factory.newDocumentBuilder();
Document documento = builder.newDocument();

// Creación de la fuente XML a partir del documento.
DOMSource source = new DOMSource(documento);

// Creación del resultado, que será el fichero XML.
// File dir = new File (directorio);
// dir.mkdirs();
// File file = new File(dir, fichero);
File file = new File(fichero);

try {
// out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"
// standalone=\"no\"?>");
Element servicio = (Element) documento.appendChild(documento.createElement("bus caServicio"));
Element nombre = (Element) servicio.appendChild(documento.createElement("nomb reServicio"));
nombre.setTextContent(arg);
} catch (Exception e) {
e.getMessage();
}

// Se realiza la transformación, de Document a Fichero.
StreamResult result = new StreamResult(file);
transformer.transform(source, result);

return fichero;
}


Una vez creado el supuesto fichero XML en la ruta por defecto (que es lo que no consigo), dentro del mismo doPost(), llama a otro método:

public String llamada(String endpoint, String fichero) throws TransformerException, ParserConfigurationException,
SAXException, IOException {

Document respuesta = null;

try {
InputStream is = Thread.currentThread().getContextClassLoader().get ResourceAsStream(fichero);

Document peticion = XMLUtils.newDocument(is);

DIIClient clienteDinamico = new DIIClient();

respuesta = clienteDinamico.invocarCliente(peticion, endpoint);

}catch (Exception e) {
e.printStackTrace();
}
r = GenerarRespuesta.Generar(respuesta, fichero);
return r.get(0).toString();

}


y lo marcado en rojo es lo que me devuelve null, y es porque no encuentra el fichero XML...

Espero haberme explicado mejor ahora...

Gracias y lo siento.