2015-09-08 23 views
0

我們的SOAP Web服務提供程序堅持從請求中刪除空字段標記,因爲它會中斷服務。這是正確的做法嗎?請求中帶有空字段的SOAP服務崩潰

請參閱下面的請求示例。 StockID是空標籤。它應該打破SOAP服務嗎? 我想知道周圍的空標籤最佳實踐要求

<?xml version="1.0"?> 
 
<soap:Envelope 
 
xmlns:soap="http://www.w3.org/2001/12/soap-envelope" 
 
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> 
 

 
<soap:Body xmlns:m="http://www.example.org/stock"> 
 
    <m:GetStockPrice> 
 
    <m:StockName>IBM</m:StockName> 
 
    <m:StockID/> 
 
    </m:GetStockPrice> 
 
</soap:Body> 
 

 
</soap:Envelope>

回答

0

這依賴於系統的其餘部分是如何編程。有發送StockID的3種方式:

  • 空標籤
  • 標籤去除
  • 標籤隨着零=「真」

什麼是可能發生的上述第一項就是程序將標籤反序列化爲空字符串,然後崩潰,因爲沒有庫存id =「」。

在上面的最後2個項目中,它將反序列化爲NULL,然後不嘗試查找庫存id = NULL。