У меня есть SOAP XML, который я должен построить в Groovy. Я программист ABAP, и я не знаю, как это сделать. Кто-нибудь может мне помочь, пожалуйста! Ниже код:
<soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsu:Timestamp wsu:Id="TS-' lv_timestamp_id '"> <wsu:Created>+lv_created+</wsu:Created> <wsu:Expires>+lv_expires+</wsu:Expires> </wsu:Timestamp> <wsse:UsernameToken wsu:Id="UsernameToken-"> <wsse:Username>+lv_username+</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">+lv_sb64password+</wsse:Password> <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">+lv_b64nonce+</wsse:Nonce> <wsu:Created>+lv_created+</wsu:Created> </wsse:UsernameToken> </wsse:Security> </soapenv:Header>
Вот документы: http://groovy -lang.org / processing-xml.html # _markupbuilder
Нечто подобное должно работать.
def xml = new MarkupBuilder(writer) xml.'soapenv:Header'{ 'wsse:Security'('xmlns:wsse': 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd', 'xmlns:wsu': "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd") 'wsu:Timestamp'('wsu:Id':"TS-' lv_timestamp_id '"){ 'wsu:Created'(lv_created) 'wsu:Expires'(lv_expires) } } }