我是一名网络服务开发人员。在我发送到不同 Web 服务的所有 XML 请求中,我需要添加肥皂信封、肥皂标题、肥皂正文标签。在响应中,我需要忽略这些并仅解析肥皂体的孩子。例子:
要求:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://schemas.abc.com/v1.0">
<soapenv:Header/>
<soapenv:Body>
<ns:webservice-abc-Request xmlns:ns="http://schemas.abc.com/v1.0">
回复:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns:webservice-abc-Response xmlns:ns="http://schemas.abc.com/v1.0">
我在请求和响应处理中都使用 JiBX。架构显然没有定义这些肥皂标签。所以我目前正在做的是将请求作为字符串并将这些肥皂标签添加到适当的位置并发送请求。
作为响应,使用字符串操作删除肥皂标签并使用 JiBX 解析消息的其余部分。
我想知道一种更好的方法并摆脱这些字符串操作。我想纯粹在 JiBX 中实现这些东西。有办法吗?
谢谢。