我試圖用如下Groovy的鑄造XML NodeChildren爲byte []
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<SignResult xmlns="http://www.tw.com/tsswitch">
<Result>
<Code>string</Code>
<Desc>string</Desc>
</Result>
<SignedDocument>base64Binary</SignedDocument>
<Archive>base64Binary</Archive>
<Details>string</Details>
</SignResult>
</soap:Body>
</soap:Envelope>
下面來解析來自SOAP Web服務的XML響應我的Groovy代碼到XML響應轉換成所需的變量
def responseXML = EntityUtils.toString(httpResponse.getEntity());
def signResponse = new XmlSlurper().parseText(responseXML)
def signedDocument = new XmlSlurper().parseText(responseXML).Body.SignResult.SignedDocument
def resultCode = new XmlSlurper().parseText(responseXML).Body.SignResult.Result.Code
def resultDesc = new XmlSlurper().parseText(responseXML).Body.SignResult.Result.Desc
def archive = new XmlSlurper().parseText(responseXML).Body.SignResult.Archive
def details = new XmlSlurper().parseText(responseXML).Body.SignResult.Details
我想給signedDocument
轉換爲byte[]
如下
def document = signedDocument as byte[]
但我得到以下異常
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object with class 'groovy.util.slurpersupport.NodeChildren' to class 'byte'
有人可以幫助這個mw嗎?
你想幹什麼?該字符串表示該XML的字節[]? –
@tim_yates是的,然後將其轉換爲文本文件 – RanPaul