2009-08-26 6 views
0

CXF-WS 2.2.1을 사용하여 웹 서비스를 개발 중입니다. 내가 개발 및 이전 서비스를 테스트하지만 지금은 생성 된 WSDL은 여기에서 이전과 다른했던 이전CXF 자동 생성 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" /> 

이며, 이전은 WSDL을 볼 수 있듯이

<?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" /> 

같다 첫 번째 줄과 다른 점. 프로젝트에서 사용 된 구성이나 항아리에는 변화가 없습니다. 아무도 왜 그런 일이 일어나고 있는지 나와 함께 도와주세요. 가능한 한 빨리 이것이 평일에 건축으로 옮겨 져야하기 때문에 인정 될 것입니다. 사전 Adhir AIMA

답변

3

에서

덕분에 많은 것들이이 일부 발생할 수 있습니다. 인코딩 = "UTF-8"은 저에게 이상한 것입니다. 그 파서가 어찌 되었든간에 다른 파서 (parser)보다 짧게 보이게하는 원인이 무엇인지 확신 할 수 없습니다. 아마 다른 JDK일까요? 나는 정말로 모른다.

나머지 변경 사항은 스키마 및 속성 순서의 요소/유형 순서 차이를 정렬하는 것처럼 보입니다. 두 경우 모두 대답은 같습니다. 이러한 것들은 메모리의 HashMaps에 저장됩니다. HashMaps의 주문은 보장되지 않으며 다양한 상황에서 쉽게 다를 수 있습니다. 다른 구문 분석기 (위 참조)는 put (..)을 다른 순서로 호출하여 사물에 영향을 미칩니다. 다른 JRE는 다르게 명령 할 수 있습니다. CXF가 다른 순서로 사물을 인트로 스하므로, getClass(). getMethods()로부터 반환 된 Method []의 순서는 영향을 미칠 수 있습니다 (예를 들어 IBM JDK는 Sun JDK와는 다른 순서로 리턴합니다) . 다른 컴파일러는 메소드를 .class 파일에 다른 순서로 넣을 수 있습니다. 기타 ...

관련 문제