开发学院

您的位置:首页>教程>正文

教程正文

​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程序等。