如何从SOAPMessage生成的XML中删除不需要的属性

时间:2018-11-11 23:16:33

标签: xml soap

我是第一次使用SOAP,并试图创建一个将SOAP请求发送到服务器的Java进程。我已经在SoapUI上测试了成功的请求,但是从Java程序发出的请求失败了。当比较两者之间的确切xml时,我注意到Java顶部有这个:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

工作并使用导入的wsdl文件的SoapUI就是这样:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

所以由于某种原因,我在Java中创建的消息是将这3个新属性添加到信封头中,我不知道为什么。我正在使用javax.xml.soap API,而我的生成SOAPMessage的代码是以下标准过程:

MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage soapMessage = messageFactory.createMessage(); 

在调试时,我在创建消息的调用之后放置了一个断点,并且SOAPMessage元素已经包含那些不需要的属性。有谁知道如何摆脱他们?我相信信封中的这种差异是导致Java进程失败而SoapUI调用正常的原因。

谢谢

0 个答案:

没有答案