我正在使用我没有制作的Web服务,我从同一个方法得到两个不同的响应,数据相同但格式更改并且崩溃了我的应用
回应1:
<SOAP-ENV:Envelope xmlns:SOAP-ENV=...>
<SOAP-ENV:Body SOAP-ENV:encodingStyle="..." xmlns:NS1="..." xmlns:NS2="...">
<NS1:...>
<return href="#1"/>
</NS1:...>
<NS2:..." xsi:type="NS2:...">
</NS2:...>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
回应2:
<SOAP-ENV:Envelope xmlns:SOAP-ENV=...>
<SOAP-ENV:Body SOAP-ENV:encodingStyle="..." xmlns:NS1="..." xmlns:NS2="...">
<NS1:...>
<NS2:..." xsi:type="NS2:...">
</NS2:...>
<return href="#1"/>
</NS1:...>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
唯一不同的是这一行
<return href="#1"/>
</NS1:...>
当我得到第二个时,我无法读取数据,所以我的问题是:第二种方式是错误的吗?
编辑:
这是我收到的错误消息
System.Web.Services.Protocols.SoapException: El servidor no puede procesar la
solicitud.
---> System.InvalidOperationException: Error en el documento XML (2, 3726). --->
System.InvalidOperationException: No se encontró en el documento el elemento con id '2'
al que se hace referencia.
en System.Xml.Serialization.XmlSerializationReader.GetTarget(String id)
en System.Xml.Serialization.XmlSerializationReader.FixupArrayRefs(Object fixup)
en System.Xml.Serialization.XmlSerializationReader.DoFixups()
en System.Xml.Serialization.XmlSerializationReader.ReadReferencedElements()
它说“找不到id为2的元素”
第二个回复是因为UTF8InHeader = TRUE
无论如何我很好奇它是否是一个有效的肥皂反应
答案 0 :(得分:1)
您的答案将在此服务的WSDL中。那是与外界的“契约”。