所以,围绕这些部分有一个相当古老的项目。它使用 Java 1.4 和 XFire 来生成代码优先的 Web 服务(我知道,我知道,最佳实践……)。无论如何,领导们最近决定现在每个人都需要 Websphere 7!
升级到 Websphere 7 显着改变了 WSDL。例如,之前,如果这是订单(可能不是有效的 XML,但我想你会明白我的意思)
<xsd:sequence>
<xsd:element type="xsd:date" name="blah" />
<xsd:element type="xsd:string" name="blah2" />
</xsd:sequence>
新的顺序是这样的,它破坏了尝试使用(功能)服务的旧设备:
<xsd:sequence>
<xsd:element type="xsd:string" name="blah2" />
<xsd:element type="xsd:date" name="blah" />
</xsd:sequence>
现在,我建议他们采用旧的 WSDL 并使用 XFire 来仅使用静态(即不是代码生成的)WSDL 来部署它以进行修复。
但是有什么方法可以让 Websphere 7不自动更改顺序吗?甚至是 Websphere 7 的错(也许是 XFire?)