首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >javax.xml.bind.UnmarshalException:意外元素(uri:"",local:"Response")

javax.xml.bind.UnmarshalException:意外元素(uri:"",local:"Response")
EN

Stack Overflow用户
提问于 2018-09-21 12:50:55
回答 1查看 496关注 0票数 1

需要产生Soap服务,该服务使用产生application/XML的rest服务。

以下是报告的错误

本地响应:意外元素(uri:"",

:“javax.xml.bind.UnmarshalException”)。预期的元素包括

<{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>
EN

回答 1

Stack Overflow用户

发布于 2018-09-23 04:54:43

XML响应正在使用response元素的默认命名空间,该命名空间对XSD无效。它应该在命名空间http://spring.io/guides/gs-producing-web-service中。简而言之,在响应中应该有类似<Response xmlns="http://spring.io/guides/gs-producing-web-service" ...>的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52436793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档