最后介绍SOAP消息模板为了使用SOAP发送和检索文档需要进行更多的工作并且不可能通过端点而没有额外的代码然而使用soap文档包含的信息保留其结构而不是作为包括在<string>元素中的令人费解的杂乱内容发送回来
HTTP/ OK
ContentType:text/xml; charset=utf
contentLength:length
<?xml version= encoding=utf?>
<soap:Envelope xmlns:xsi=http://wwwworg//XMLSchemainstance
xmlns:xsd=http://wwwworg//XMLSCHEMA
xmlns:soap=http://schemasxmlsoaporg/soap/envelope/>
<soap:Body>
<GetWeather xmlns=http://wwwwebserviceXNET>
<GetWeatherResult>
<Location>Birmingham / Airport United Kingdom (EGBB)
N w OM</Location>
<Time>Jul : AM EDT / UTC</Time>
<Wind>from the E ( degrees) at MPH ( KT) (direction variable):</Wind>
<Visibility>greater than mil(s):</Visibility>
<SkyConditions>mostly cloudy</SkyConditions>
<Temperature> F ( C)</Temperature>
<dewPoint> F ( C)</DewPoint>
RelativeHumidity>%</RelativeHumidity>
<Pressure> in Hg( hPa)</Pressure>
<Stutus>Success</Status>
</GetWeatherResult>
</GetWeatherResponse>
</soap:Body>
</soap:Envelope>
前行是HTTP题头然而这一次的天气报告结果(注意在与图不同的日期上完成操作因此具有不同的天气报告)放置在<soap:Envelope>和<soap:body>元素中这儿没有<soap:header>元素该元素是可选项而在这儿不需要它如果检查结果也将看到缺少<string>元素这将使文档保留计划中的结构
然而这并没有回答一个问题如果不希望包括Web服务己经返回的所有信息并且只需要一些特定的零碎内容这时会发生什么?天气Web服务返回所有类型的无关信息同时您感兴趣的只是天空状况和温度确实可以从字符串中提取一些项但更好的方法是在源代码中约束Web服务返回的信息为了做到这一点需要为类似于wsdlexe(wsdlexe是作为NET Framework的一部分出现的工具)的命令行提示工具提供的灵活性投入资金并且这需要一些额外的工作超出了本书的介绍范围
ASPNET 入门教程完整版
[] []