Проблема с XmlSlurper - PullRequest
       18

Проблема с XmlSlurper

0 голосов
/ 29 октября 2018

Мне нужно прочитать данные из 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

Пожалуйста, дайте мне знать, что случилось с кодом.

...