我有两个运行的应用服务器:Wildfly和Websphere。 使用Wildfly并使用SOAPUI检查WSDL,我得到以下输出:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://xxx/">
<soapenv:Header/>
<soapenv:Body>
<web:Login>
<username>xxx</username>
<password>xxx</password>
<accessArea>xxx</accessArea>
<extendName>xxx</extendName>
</web:Login>
</soapenv:Body>
</soapenv:Envelope>
但是如果我在Websphere中使用相同的war文件,我总是得到这个结果:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="xxx">
<soapenv:Header/>
<soapenv:Body>
<web:login>
<arg0>xxx</arg0>
<arg1>xxx</arg1>
<arg2>xxx</arg2>
<arg3>xxx</arg3>
</web:login>
</soapenv:Body>
</soapenv:Envelope>
有人知道为什么所有的标记名都是arg0,arg1,...,当在Websphere中做同样的事情并用SOAPUI检查它时?
非常感谢!
答案 0 :(得分:0)
好吧,我把这个项目从其他人那里拿走了,所以我并没有真正涉及这个话题。我没有发现任何暗示自上而下或自下而上的暗示。
答案 1 :(得分:0)
所以经过很长一段时间我才能解决问题。 Wildfly和Websphere之间存在很多差异,其中一个似乎与注释有关。 为了识别XMLElements,您必须在Websphere的相应方法中对它们进行注释。
header('Content-Type: application/octet-stream');
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-Disposition: attachment; filename='$filename'");
readfile($filename);
然而,Wildfly能够自行溶解它们。
感谢各位的帮助。