我已经设置了Soap CXf服务,当我发送以下样本请求时,它可以正常工作
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="omitted" xmlns:ns1="omitted" xmlns:ns2="http://niem.gov/niem/niem-core/2.0">
<soapenv:Header/>
<soapenv:Body>
<ns:Notify>
<ns1:EventMessage>
<ns1:Message>
test
</ns1:Message>
</ns1:EventMessage>
</ns:Notify>
</soapenv:Body>
</soapenv:Envelope>
但是,当我尝试以下操作时,它会失败
<m:Notify xmlns:m="omitted" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="omitted">
<jnet:EventMessage xmlns:jnet="omitted" xmlns:nc="http://niem.gov/niem/niem-core/2.0">
<jnet:Message>
<CourtCaseEvent xmlns="omitted" xmlns:ansi="http://www.it.ojp.gov/jxdm/ansi_d20/1.0" xmlns:aopc="omitted" xmlns:j="http://www.it.ojp.gov/jxdm/3.0" xmlns:ncic="http://www.it.ojp.gov/jxdm/ncic_2000/1.0" xmlns:nibrs="http://www.it.ojp.gov/jxdm/nibrs_misc/1.0"
xmlns:ref="omitted" xmlns:usps="http://www.it.ojp.gov/jxdm/usps_states/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" j:sourceIDText="1">
</CourtCaseEvent>
</jnet:Message>
</jnet:EventMessage>
</m:Notify>
Mule的错误回复是:
“http://jnet.state.pa.us/message/jnet/EventMessageConsumer/1”,“Notify”元素上的命名空间,不是有效的SOAP版本。
我尝试将CXf组件的namespace属性设置为:
没有运气。谢谢你的帮助!
答案 0 :(得分:0)
在邮件中添加肥皂信封标记解决了问题。