WebSphere 中的 JAX-WS 空响应,但 Tomcat 中没有

JAX-WS empty response in WebSphere but not in Tomcat

我正在开发一个简单的 SOAP JAX-WS WebService。
我使用的是 JRE 7,所以我不得不选择非常旧的库,因为我必须在 WebSphere 8.5 上进行部署。
我使用了 Spring 和 CXF。
使用 soapUI 进行测试我看到响应对象在 WebSphere 上是空的并且在 Tomcat 7 中正确表示(运行 和 JDK 7),但是执行一切正常(我可以看到日志跟踪和数据库更新),在开发和生产环境中。
另一方面,故障(也包括自定义复杂类型)在两个系统上都能正确表示。
我试图在具有一系列元素或一组属性的复杂类型之间更改架构;同样,在 Tomcat 上一切正常,响应是格式正确的 XML,具有正确的名称空间,但在 WebSphere 上为空。

这里有两个响应示例:

WebSpehere

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:authResponse xmlns:ns2="http://www.my-ws-domain.com/schema/geco-reply-ws/"/>
   </soap:Body>
</soap:Envelope>

Tomcat

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:authResponse xmlns:ns2="http://www.my-ws-domain.com/schema/geco-reply-ws/">
         <authToken>33WDg36lr+IKUdEMhrfW+L4pg5SzRjtuHtp3kDC5pBE=</authToken>
      </ns2:authResponse>
   </soap:Body>
</soap:Envelope>

我认为它可以是 JAXB 实现(XML WebSphere 上的编组)。
有什么建议吗?

事实证明,WebSphere 8.5 在处理 javax.crypto 包中的哈希算法时存在一些问题。
如果我用纯文本或一些 Base64 编码或自定义哈希函数响应,一切正常。
如果在调用堆栈的某个部分,我尝试使用加密函数对字符串进行哈希处理,WAS 控制台中不会显示任何错误,但哈希函数 returns null.