【问题标题】:Getting a particular field in soap body in org.apache.cxf.binding.soap.SoapMessage在 org.apache.cxf.binding.soap.SoapMessage 中获取肥皂正文中的特定字段
【发布时间】:2014-12-29 22:55:29
【问题描述】:

有没有办法在从 XML 文件构建的 SoapMessage 中获取特定字段值。

这是我收到的肥皂信息,

    <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing">http://www.example.com</wsa:Action>
<wsa:MessageID xmlns:wsa="http://www.w3.org/2005/08/addressing">8d6f49b9-22c6-41d9-a1fb-bc07c82pbhar</wsa:MessageID>
<wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing">
<Address xmlns="http://www.w3.org/2005/08/addressing">http://bcd.com</Address>
</wsa:From>
<wsa:ReplyTo xmlns:wsa="http://www.w3.org/2005/08/addressing">
<Address xmlns="http://www.w3.org/2005/08/addressing">http://blah.com</Address>
</wsa:ReplyTo>
<wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing">https://blah2.com</wsa:To>
</soap:Header>
<soap:Body wsu:Id="id-8" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<ns2:abc xmlns:ns2="abc" xmlns:ns3="abc" xmlns:ns4="abc">
<ns2:FunctionCallIdentifier>https://bcd.com</ns2:FunctionCallIdentifier>
<ns2:ValidityPeriod>120000</ns2:ValidityPeriod>
<ns2:fieldOne>
<ns2:Subfield xsi:type="ns2:MSId_AliasType" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ns2:property1>IWantToGetThis</ns2:property1>
</ns2:Subfield>
</ns2:abc>
</soap:Body>
</soap:Envelope>

现在,我想获取“property1”文件,我该怎么做,我只能看到 getHeaders()、getContextualProperty() 等

谢谢!

【问题讨论】:

  • 你是如何在服务器请求时得到这个传入的请求消息的?

标签: java web-services soap cxf


【解决方案1】:

也许这个链接可以帮助你:

How to parse SOAP message into Jaxb classes

Jaxb 是处理 XML 文档的框架,sopa body 是一个 XML,你可以用 Jaxb 来处理它

【讨论】:

  • 您好,Alvaro,感谢您的回复。我发送的链接实际上是使用 SOAPMessage,即 javax.xml.soap.SOAPMessage,但我需要来自 org.apache.cxf.binding.soap.SoapMessage 的 SoapMessage。我将它与 WSS4J 拦截器一起使用,需要访问 SoapMessage 正文。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-21
  • 1970-01-01
相关资源
最近更新 更多