CXF автоматически сгенерированный wsdl - PullRequest
0 голосов
/ 26 августа 2009

Я занимаюсь разработкой веб-сервисов в CXF-WS 2.2.1. Я разработал и протестировал сервисы ранее, но теперь сгенерированный wsdl отличается от предыдущего, здесь старый

<?xml version="1.0" ?> 
- <wsdl:definitions name="ICodeTableServiceService" targetNamespace="http://codetable.service.esps.cvs.com/" xmlns:ns1="http://cxf.apache.org/bindings/xformat" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://codetable.service.esps.cvs.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:types>
- <xsd:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://codetable.service.esps.cvs.com/" xmlns:tns="http://codetable.service.esps.cvs.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="ESPSException" type="tns:ESPSException" /> 
- <xsd:complexType name="ESPSException">
- <xsd:sequence>
  <xsd:element name="logged" nillable="true" type="xsd:boolean" /> 
  <xsd:element name="priority" nillable="true" type="xsd:int" /> 
  </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="getCodeTableDataMultiple" type="tns:getCodeTableDataMultiple" /> 
- <xsd:complexType name="getCodeTableDataMultiple">
- <xsd:sequence>
  <xsd:element minOccurs="0" name="codeTypeName" type="xsd:string" /> 
  </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="getCodeTableDataMultipleResponse" type="tns:getCodeTableDataMultipleResponse" /> 

а старый как

<?xml version="1.0" encoding="UTF-8" ?> 
- <wsdl:definitions name="ICodeTableServiceService" targetNamespace="http://codetable.service.esps.cvs.com/" xmlns:ns1="http://cxf.apache.org/bindings/xformat" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://codetable.service.esps.cvs.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:types>
- <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://codetable.service.esps.cvs.com/" xmlns:tns="http://codetable.service.esps.cvs.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="sayHello" nillable="true" type="tns:sayHello" /> 
  <xs:element name="sayHelloResponse" nillable="true" type="tns:sayHelloResponse" /> 
  <xs:element name="ESPSException" type="tns:ESPSException" /> 
- <xs:complexType name="ESPSException">
- <xs:sequence>
  <xs:element name="logged" nillable="true" type="xs:boolean" /> 
  <xs:element name="priority" nillable="true" type="xs:int" /> 
  </xs:sequence>
  </xs:complexType>
  <xs:element name="getCodeTableData" nillable="true" type="tns:getCodeTableData" /> 
  <xs:element name="getCodeTableDataResponse" nillable="true" type="tns:getCodeTableDataResponse" /> 

Как видите, wsdl отличается от первой строки. Без изменений в конфигурациях или банках, используемых в проекте. Может кто-нибудь, пожалуйста, помогите мне с тем, почему такое происходит. Как можно скорее будет оценено, потому что это должно перейти к сборке послезавтра.

Заранее спасибо Адхир Айма

1 Ответ

3 голосов
/ 26 августа 2009

Многие вещи могут быть причиной некоторых из них. Кодировка = "UTF-8" странная для меня. Не уверен, что может привести к тому, что он окажется не похожим на другой анализатор. Может быть, другой JDK? Я не совсем уверен.

Остальные изменения выглядят как различия в порядке расположения элементов / типов в схеме и порядке атрибутов. В обоих случаях ответ один и тот же. Эти вещи хранятся в HashMaps в памяти. Заказ HashMaps не гарантируется и может легко отличаться при различных обстоятельствах. Другой парсер (см. Выше) может вызывать put (..) в другом порядке, который влияет на вещи. Другой JRE может заказать их по-другому. Кроме того, порядок метода [], возвращаемого из getClass (). GetMethods () может оказать влияние (известно, что IBM JDK возвращает их в другом порядке, чем Sun JDK, например), поскольку CXF будет анализировать вещи в другом порядке. , Другой компилятор может поместить методы в файлы .class в другом порядке. Etc ....

...