一个Soap Request的xsd文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" targetNamespace="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<xs:element name="Envelope">
<xs:complexType>
<xs:sequence>
<xs:element ref="soap:Header"/>
<xs:element ref="soap:Body"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Header">
<xs:complexType>
<xs:sequence>
<xs:element name="AuthenticationHeader">
<xs:complexType>
<xs:sequence>
<xs:element name="Username" type="xs:string"/>
<xs:element name="Password" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="availabilityRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="arrivalDate" type="xs:date"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
以这个xsd为参照,我写了一个request的xml,如下:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<AuthenticationHeader>
<Username>Username</Username>
<Password>Password</Password>
</AuthenticationHeader>
</soap:Header>
<soap:Body>
<availabilityRequest>
<arrivalDate>2001-01-01</arrivalDate>
</availabilityRequest>
</soap:Body>
</soap:Envelope>
结果validate的时候,"<AuthenticationHeader>"总是报错:
Description Resource Path Location Type
cvc-complex-type.2.4.a: Invalid content was found starting with element 'AuthenticationHeader'. One of '{WC[##other:"http://schemas.xmlsoap.org/soap/envelope/"]}' is expected. DemoRequest.xml /TrivagoTask/src/com/trivago/task1 line 6 XML Problem
请教各位,到底错在哪里呢,如何修改?多谢先!