Как восстановить первоначальный порядок элементов xsd: в оболочках xsd: sequence при обновлении websphere? - PullRequest
4 голосов
/ 29 октября 2010

Итак, вокруг этих частей есть довольно старый проект.Он использует Java 1.4 и XFire для создания веб-сервисов, основанных на коде (я знаю, я знаю, лучшие практики ...).В любом случае, руководители недавно решили, что всем нужен 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?)

1 Ответ

0 голосов
/ 07 апреля 2011

Вы не можете изменить порядок, так как он генерируется сервером. Вы можете изменить свой Java-файл в Websphere, чтобы он соответствовал вашему оригинальному wsdl. На вашем месте я бы сгенерировал java-файлы из оригинального wsdl.

...