Maestro abrahamhs, gracias por el empujon que necesitaba. Aqui dejo el programa por si a alguien le sirve (es solo la parte para extraer los datos del XML)
Código Java:
Ver original//recibo el parametro en mi caso es el documento del usuario
int id1
=Integer.
parseInt(request.
getParameter("id1")); String documento2
=request.
getParameter("id1"); int posx=0;
int tamanio=0;
try {
//invoco el servicio web
com.cia.seguridad.web.services.WSMenuWebService service = new com.cia.seguridad.web.services.WSMenuWebService();
com.cia.seguridad.web.services.WSMenuWeb port = service.getWSMenuWebPort();
com.cia.seguridad.web.services.WSMenuWeb port2 = null;
// aqui se inicializan los parametros que necesita el servicio web
documento=idusuario;
aplicativo=idapp;
// TODO process result here
//java.lang.
//guardo el resultado en la variable "result"
String result
= port.
menuUsuarioAplicacion(documento, aplicativo, pais
); //con DocumentBuilder convierto el String a XML
DocumentBuilder builder = null;
builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
// con xpath recorro el xml, realmente es facil
XPath xPath = XPathFactory.newInstance().newXPath();
// Instancia de xPath necesaria para compilar las expresiones
XPathExpression exprParameter = xPath.compile("/Modulos/Transaccion");
/* Compilo la expresion con el termino que necesito extraer del xml, en mi caso
* las transacciones que debe permitirsele al usuario (permisos).
* Con el fin que entre al ciclo y extraiga todos los registros.
*/
NodeList parametros = (NodeList)exprParameter.evaluate(xmlDocument, XPathConstants.NODESET);
// dentro de la variable parametros inserto todos los registros para extraerlos mediante el ciclo
for(int i=0; i<parametros.getLength(); i++){
// extraigo el parametro especifico ...para este ejemplo lo presento en pantalla
// pero desde aqui ya se puede utilizar de acuerdo a sus necesidades
Node paramNode = parametros.item(i);
String pTransaccion
= paramNode.
getAttributes().
getNamedItem("transaccion").
getNodeValue();
System.
out.
println("Parametro Leido : " + pTransaccion
); //System.out.println("Leido parámetro " + parameterName + " de clase " + parameterClass);
}
String expressionCodigoPerfil
= "/Modulos/@codigoPerfil"; String codigoPerfil
= xPath.
compile(expressionCodigoPerfil
).
evaluate(xmlDocument
); System.
out.
println(codigoPerfil
);
String expressionClasificacion
= "/Modulos/Transaccion/@clasificacion"; String clasificacion
= xPath.
compile(expressionClasificacion
).
evaluate(xmlDocument
); System.
out.
println(clasificacion
);
String expressionTransaccion
= "/Modulos/Transaccion/@transaccion"; String transaccion
= xPath.
compile(expressionTransaccion
).
evaluate(xmlDocument
); System.
out.
println(transaccion
);
String expressionMenu
= "/Modulos/Transaccion/transaccion"; String menu
= xPath.
compile(expressionMenu
).
evaluate(xmlDocument
);
out.println("Transaccion = "+transaccion);
out.println("menu = "+menu);
//*************************************************************
// TODO handle custom exceptions here
}