我有一个XML Schema,我已经声明了所有的Requests和Responses对象。
-------- For Actual Object -------
<xs:complexType name="conversation">
<xs:sequence>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="startDate" type="xs:dateTime"/>
<xs:element name="endDate" type="xs:dateTime"/>
<xs:element name="participants" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
-------- For Request -----------
<xs:element name="GetListRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="userId" type="xs:string" />
<xs:element name="date" type="xs:long" />
<xs:element name="dateTo" type="xs:long" />
</xs:sequence>
</xs:complexType>
-------- For Response -----------
</xs:element>
<xs:element name="GetListResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="conversations" type="hmp:conversation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
但是我需要创建一个新的删除请求,并且只想删除作为响应的行数。所以,我创建了以下内容:
-------- For DELETION ( I only need to retrieve the number of rows deleted) -------
<xs:element name="deleted" type="xs:integer"/>
-------- For Response -----------
<xs:element name="GetDelConversationListResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="deletes" type="hmp:deleted" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
但它的抱怨无法解析名称hmp:已删除。我相信我需要在WSDL或其他东西中添加它?有人可以帮忙吗?
答案 0 :(得分:1)
当你说type="hmp:deleted"
时,你的架构中必须有一个你没有定义的相应类型(你已经定义了一个名为deleted
的元素,而不是一个类型)。
你应该能够做到这一点,这更简单:
<xs:element name="GetDelConversationListResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="delete" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>