【发布时间】:2011-09-05 13:14:13
【问题描述】:
我正在使用来自一家公司的两个 Web 服务,每个服务都有自己的 wsdl。我正在使用 wsimport 来生成 java 类。
我发现这两个wsdl有很多重叠的地方,但是使用的名字不同。例如,当发生错误时,两个服务都会返回错误消息列表。但是这两个服务对返回的列表使用不同的名称。请参阅 wsdl 的两个小节
.
.
<s:element name="LoadResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="LoadResult" type="tns:ArrayOfMessageOfHierarchyLoadMessage" />
<s:element minOccurs="0" maxOccurs="1" name="hierarchy" type="tns:Hierarchy" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="ArrayOfHierarchyLoadMessage">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="HierarchyLoadMessage" nillable="true" type="tns:HierarchyLoadMessage" />
</s:sequence>
</s:complexType>
<s:complexType name="HierarchyLoadMessage">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MessageType" />
<s:element minOccurs="0" maxOccurs="1" name="Text" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Parameters" type="tns:ArrayOfString" />
</s:sequence>
</s:complexType>
.
.
和其他wsdl的小节
.
.
<s:element name="SearchResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="SearchResult" type="tns:ArrayOfMessageOfErrorCodes" />
<s:element minOccurs="0" maxOccurs="1" name="data" type="tns:FinderData" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="ArrayOfErrorCodes">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ErrorCodes" nillable="true" type="tns:ErrorCodes" />
</s:sequence>
</s:complexType>
<s:complexType name="ErrorCodes">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MessageType" />
<s:element minOccurs="0" maxOccurs="1" name="Text" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Parameters" type="tns:ArrayOfString" />
</s:sequence>
</s:complexType>
.
.
如您所见,重叠类型是
ArrayOfMessageOfHierarchyLoadMessage and ArrayOfMessageOfHierarchyLoadMessage
MessageOfHierarchyLoadMessage and MessageOfErrorCodes
你能告诉我是否有可能使用绑定文件来映射两个 wsdl 中的相同类型,这样 wsimport 只会为它生成一个 java 类吗?
【问题讨论】:
标签: jax-ws