我被聘请将一些用Java编写的Web服务重写为.NET。据说,响应需要包含相同的元素(它确实如此,我的新响应,我正在回到正确的元素),但我的问题是关于标签。标签是否也必须完全相同?这个网络服务将由第三方公司使用,所以现在很难测试,因为我们唯一的版本正在生产中。以下是两个回复:
原始回复:
<td>
#xmlreturned.MyCompany.body.productSelectionResponse.businessDataReport.CompanySummary.Identification.BusinessDetails.BusinessName.XmlText#
</td>
新回复:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Header/>
<env:Body>
<m:redCodeResponse xmlns:m="http://com/agentcorp/webservice/vax">
<m:RedCodeResult>
<java:AgencyID xmlns:java="java:com.agentcorp.ejb.webservices.vax">56693</java:AgencyID>
<java:AgentID xmlns:java="java:com.agentcorp.ejb.webservices.vax">757803</java:AgentID>
</m:RedCodeResult>
</m:redCodeResponse>
答案 0 :(得分:1)
命名空间前缀不需要完全相同,但命名空间应该是。我可以看到您共享的两个响应中的AgencyID和AgentID的名称空间不一样。如果元素和名称空间相同但名称空间前缀不同,则它仍然是有效的响应。为了进一步确认,您始终可以使用与第三方共享的WSDL验证新响应,以确保它在最终完美运行。