【发布时间】:2018-09-21 04:50:55
【问题描述】:
需要生成 Soap 服务,该服务使用生成应用程序/XML 的休息服务。
以下是报错
javax.xml.bind.UnmarshalException:意外元素(uri:“”,本地:“响应”)。预期的元素是
<{http://www.amfampoc.com/Vehicle}getAllVehicleMakesRequest>,
<{http://www.amfampoc.com/Vehicle}response></faultstring>
XSD 文件
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://spring.io/guides/gs-producing-web-service"
elementFormDefault="qualified">
<xs:element name="getCountryRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Response">
<xs:complexType>
<xs:sequence>
<xs:element name="Count" type="xs:int" />
<xs:element name="Message" type="xs:string" />
<xs:element name="SearchCriteria" type="xs:string" />
<xs:element name="Results">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="VehicleTypesMakes">
<xs:complexType>
<xs:sequence>
<xs:element name="MakeId" type="xs:int" />
<xs:element name="MakeName" type="xs:string" />
<xs:element name="VehicleTypeId" type="xs:int" />
<xs:element name="VehicleTypeName" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
来自服务的示例 XML 响应
<?xml version="1.0" encoding="UTF-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Count>24</Count>
<Message>Response returned successfully</Message>
<SearchCriteria>Make: merc</SearchCriteria>
<Results>
<VehicleTypesMakes>
<MakeId>449</MakeId>
<MakeName>Mercedes-Benz</MakeName>
<VehicleTypeId>2</VehicleTypeId>
<VehicleTypeName>Passenger Car</VehicleTypeName>
</VehicleTypesMakes>
<VehicleTypesMakes>
<MakeId>449</MakeId>
<MakeName>Mercedes-Benz</MakeName>
<VehicleTypeId>3</VehicleTypeId>
<VehicleTypeName>Truck</VehicleTypeName>
</VehicleTypesMakes>
</Results>
</Response>
【问题讨论】:
标签: xml rest spring-boot soap xsd