什么是SOAP响应的正确格式

时间:2014-06-04 17:08:51

标签: xml web-services soap soapui

我正在使用我没有制作的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无论如何我很好奇它是否是一个有效的肥皂反应

1 个答案:

答案 0 :(得分:1)

您的答案将在此服务的WSDL中。那是与外界的“契约”。