Ich arbeite an einem Automatisierungsskript, das SoapUI-API-Klassen verwendet, um ein WSDL zu lesen und nach dem dynamischen Füllen von Daten aus einer Excel-Datei auszuführen.Festlegen der SOAP-Anforderung Knotenwert zur Laufzeit mit XmlHolder in Java 1.8
Ich benutze XmlHolder-Klasse, um Soap Request Knoten Werte zu erhalten oder zu setzen, aber ich habe Probleme beim Zugriff auf die Anfrage XML-Knoten mit dem XPath mit XmlHolder. Im Folgenden ist die Musteranforderung und der Code, den ich versucht habe:
// Probe Soap Anfrage
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.webserviceX.NET/">
<soapenv:Header/>
<soapenv:Body>
<web:ConversionRate>
<web:FromCurrency>?</web:FromCurrency>
<web:ToCurrency>?</web:ToCurrency>
</web:ConversionRate>
</soapenv:Body>
</soapenv:Envelope>
//code
XmlHolder xmlHolder = null;
try {
xmlHolder = new XmlHolder(soapOperation.createRequest(true));
} catch (XmlException e) {
// TODO Auto-generated catch block
e.printStackTrace();
};
xmlHolder.declareNamespace("web","http://www.webserviceX.NET");
// Here tagCell.getStringCellValue() = FromCurrency
System.out.println("FromCurrency= " + request.getNodeValue(".//web:" + tagCell.getStringCellValue()));
request.setNodeValue(".//web:" + tagCell.getStringCellValue() , valCell.getStringCellValue());
//Other tried xPath
//System.out.println("FromCurrency= " + request.getNodeValue("//web:" + tagCell.getStringCellValue()));
//System.out.println("FromCurrency= " + request.getNodeValue("//:" + tagCell.getStringCellValue()));
//System.out.println("FromCurrency= " + request.getNodeValue("//*:" + tagCell.getStringCellValue()));
Kann jemand bitte den XPath für XmlHolder.setNodeValue vorschlagen().
Auch hier zu beachten, dass Soap-Knoten Namespace, d. <web:FromCurrency>
Vielen Dank im Voraus
Frage Knotenwert einstellt mit 'xpath'. Aber es wird geantwortet, fehlende JAR-Datei zu sagen. Es gibt keine Verbindung zwischen Frage und Antwort. – Rao
@Rao, ich glaube, Sie haben nicht die vollständige Antwort gelesen, ich habe Details zur Verwendung der richtigen xPath Weg auch auf die Knotenwerte zugreifen, ohne auch nur einen Namespace für die SOAP-Anfrage/Antwort . Wie auch immer, ich mache dir keine Vorwürfe. Manche Menschen ernähren sich von anderem Müll. Danke für diesen schönen Kommentar. – Riky
Danke @Rupendra, Ihre Antwort hat mir geholfen, ein ähnliches Problem zu lösen. –