在Wildfly和Websphere中的WSDL之间使用SOAPUI时的不同标记名称

时间:2018-01-25 16:42:09

标签: tags websphere wildfly

我有两个运行的应用服务器: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检查它时?

非常感谢!

2 个答案:

答案 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能够自行溶解它们。

感谢各位的帮助。