我见过这样的问题,但到目前为止他们没有帮助。
我目前在设置SOAP主体中元素的前缀时遇到问题。 我正在尝试构建的请求如下所示:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sen="http://company.org/sendmailaTTACH">
<soapenv:Header/>
<soapenv:Body>
<sen:SendMail>
<sen:plainbody>?</sen:plainbody>
</sen:SendMail>
</soapenv:Body>
</soapenv:Envelope>
能够通过跟随this answer将其构建到SendMail
对象的位置,但是当它到达添加前缀的部分时:<sen:plainbody>
即添加{{1}前缀sen
我收到错误:
org.w3c.dom.DOMException:NAMESPACE_ERR:尝试创建 或者以不正确的方式更改对象 命名空间。
plainbody
对象如下所示:
SendMail
我猜也许是因为普通人和其他领域都有String?
有什么方法吗?
谢谢!
答案 0 :(得分:0)
想出了一个解决方案:
可以通过使用@XmlElement
注释类属性并指定名称空间来解决该问题
@XmlElement(namespace = "http://company.org/sendmailaTTACH")
protected String from;
@XmlElement(namespace = "http://company.org/sendmailaTTACH")
protected String displayname;
@XmlElement(namespace = "http://company.org/sendmailaTTACH")
protected String to;
@XmlElement(namespace = "http://company.org/sendmailaTTACH")
protected String cc;
@XmlElement(namespace = "http://company.org/sendmailaTTACH")
protected String bcc;
@XmlElement(namespace = "http://company.org/sendmailaTTACH")
protected String htmlbody;
@XmlElement(namespace = "http://company.org/sendmailaTTACH")
protected String plainbody;
@XmlElement(namespace = "http://company.org/sendmailaTTACH")
protected String subject;
@XmlElement(namespace = "http://company.org/sendmailaTTACH")
protected String imageurl;