Мне нужно прочитать данные из 2 XML-файлов. У меня есть следующий конвейерный скрипт:
def targetServerConfigFileContent = readFile file: 'apiproxy/targets/default.xml'
def xmlObject1 = new XmlSlurper().parseText(targetServerConfigFileContent);
echo "-------------"
existingTargetServerName = xmlObject1.HTTPTargetConnection.LoadBalancer.Server.'@name';
echo "existingTargetServerName::${existingTargetServerName}"
targetServerConfigFileContent = null;
xmlObject1 = null;
def proxyConfigFileContent = readFile file: 'apiproxy/'+ proxyName + '.xml'
def xmlObject = new XmlSlurper().parseText(proxyConfigFileContent);
existingProxyName = xmlObject.'@name'
existingBasePath = xmlObject.Basepaths
existingProxyDesc = xmlObject.Description
echo "existingProxyName::${existingProxyName}"
echo "existingProxyDesc::${existingProxyDesc}"
echo "existingBasePath::${existingBasePath}"
proxyConfigFileContent = null;
xmlObject = null;
В тот момент, когда я начал читать второй файл с кодом, он начал выдавать исключение.
def proxyConfigFileContent = readFile file: 'apiproxy/'+ proxyName + '.xml'
Исключение:
java.lang.IllegalArgumentException: Не удалось создать экземпляр {message = java.io.NotSerializableException:
groovy.util.slurpersupport.Attributes} для EchoStep (сообщение: строка):
java.lang.ClassCastException:
org.jenkinsci.plugins.workflow.steps.EchoStep.message ожидает класса
java.lang.String, но получил класс java.io.NotSerializableException
Пожалуйста, дайте мне знать, что случилось с кодом.