Web services WSDL元素顺序

Web services WSDL元素顺序,web-services,soap,wsdl,wsdl2java,Web Services,Soap,Wsdl,Wsdl2java,在应用程序中,我有基于第三方公司提供的WSDL文件的web服务。到目前为止,我所做的只是使用axis wsdl2java的ant脚本生成相关的Java代码 我之所以这么说是因为提供web服务的公司已经修改了其架构,soap消息必须知道输入元素的顺序,而事实显然并非如此 示例:在我的WSDL中,我有如下内容 <xs:element name="personinfo"> <xs:complexType> <xs:sequence> <

在应用程序中,我有基于第三方公司提供的WSDL文件的web服务。到目前为止,我所做的只是使用axis wsdl2java的ant脚本生成相关的Java代码

我之所以这么说是因为提供web服务的公司已经修改了其架构,soap消息必须知道输入元素的顺序,而事实显然并非如此

示例:在我的WSDL中,我有如下内容

<xs:element name="personinfo">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
      <xs:element name="address" type="xs:string"/>
      <xs:element name="city" type="xs:string"/>
      <xs:element name="country" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

但是,当我查看发送到web服务的soap消息时,元素的顺序与WSDL文件中的顺序不同

你们知道我该怎么做才能使我发送的信息中的元素顺序得到尊重吗

编辑:我使用轴1.4


非常感谢你的帮助

您没有提到您正在使用的web服务框架。轴Axis2?CXF?每个类的使用和生成方式都不同。提供您在使用时遇到问题的WSDL和SOAP消息的副本也可能很有用。对不起,我正在使用Axis 1.4。请再次阅读此。。。因此,在远程服务提供者升级了他的服务之后,您是说新的SOAP消息格式与发布的WSDL相比不再有效?WSDL应该捕获服务使用者和服务提供者之间的契约。您确定WSDL也没有更改吗?事实上,远程服务提供商已经升级了安全检查。特别是,他们现在检查输入消息中元素的顺序(以前没有这样做),并告诉我发送给他们的消息的顺序不正确。我检查了一下自己,事实上,有一个元素不在合适的位置。这只是一个秩序问题,因为它迄今为止运作良好。他们向我发送了WSDL的最新版本,与我使用的版本相比,它是正确的。那么,您是在暗示Axis1.4正在生成生成无效SOAP消息的Java类?如果是这种情况,我建议要么提交错误报告,要么切换到Axis2或CXF(Axis1.4于2006年发布)等替代web服务框架。