SOAP Body元素
SOAP Body元素
SOAP Body是一个强制元素,它包含打算传送到消息最终端点的实际消息,Body必须包含在Envelope中,并且必须遵循可能为消息定义的任何标题头。
Body被定义为Envelope的子元素,Body的语义在关联的SOAP架构中定义。
该正文包含用于接收者的强制性信息。例如,
<?xml version="1.0"?> <SOAP-ENV:Envelope> ........ <SOAP-ENV:Body> <m:GetQuotation xmlns:m="http://www.tp.com/Quotation"> <m:Item>Computers</m:Item> </m:GetQuotation> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
上面的示例请求引用计算机集合。注意m:GetQuotation和上面的项元素是特定于应用程序的元素(可以简单理解为一条方法调用,至于接收端如何处理会由双方事先约定好).它们不是SOAP标准的一部分。
以下是对上述请求的响应:
<?xml version="1.0"?> <SOAP-ENV:Envelope> ........ <SOAP-ENV:Body> <m:GetQuotationResponse xmlns:m="http://www.tp.com/Quotation"> <m:Quotation>This is Qutation</m:Quotation> </m:GetQuotationResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
通常,应用程序还定义一个模式来包含与请求和响应元素相关的语义。
可以使用在应用服务器中运行的EJB来实现报价服务;如果是,SOAP处理器将负责将主体信息映射为GetQuotationResponse服务的EJB实现中的参数。SOAP处理器还可以将Body信息映射到.net对象、CORBA对象、cobol程序等。