groovy - 如何在 Groovy 中构建 XML 命名空间
问题描述
我有一个必须在 Groovy 中构建的 SOAP XML。我是 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)
}
}
}
推荐阅读
- javascript - Javascript 交换对象元素
- javascript - 使用 discord.js 检测图像并响应
- swift - Swift:让自定义进度视图跟随用户点击?贝塞尔
- javascript - 动态下拉列表没有结果
- java - 在 MacOS High Sierra 上设置 Hadoop 单节点时遇到问题
- angular - 为什么 Angular 2+ 中的 http 服务的承诺被放弃了?
- javascript - 使用速记更新对象数组和 setState
- wordpress - AMP for WordPress:主页 /amp 仅显示右栏小部件
- spring-mvc - 使用 Enunciate 记录返回二进制文件 (image/png) 的端点
- c - 在 C 编程中使用两个变量(一个是指针)循环