2012-10-22 219 views
2

我正在開發基於SOAP的Web服務。我的問題是,如果它可以創建以下SOAP響應WCF Web服務

<tagname1> 
<tag1> value1 </tag1> 
<tag1> value2 </tag1> 
</tagname1> 

格式SOAP響應特別是我的疑問是,如果我可以具有相同的標籤名稱的兩個不同的標籤內返回2個不同的值(即值1和值2) (即tag1)

順便說一句我已經創建了一個類,並且我將該類對象作爲響應返回,因此該類對象的所有字段都顯示爲SOAP響應中的單獨標記。

UPDATE

我發現了部分解決方案。我在響應類中創建了一個數組元素。我使用數組元素來存儲列表。當我返回的類的對象,這是我得到了什麼 -

<tagname .... > 
<a:String> value1 </a:String> 
<a:String> value2 </a:String> 
<a:String> value3 </a:String> 
</tagname> 

什麼辦法可以代替「A:長」與實際的標記名?

+0

你當然可以這樣做,以不同的方式,甚至,但重要的細節是:*爲什麼*您必須返回多個'tag1'元素的要求?你確定這不是[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)?你能詳細解釋爲什麼你需要這種結構嗎? (請注意,您可以編輯問題以添加詳細信息。) – Jeroen

+0

感謝您的回覆@Jeroen! 我想返回公司列表作爲我的web服務的迴應。這不是更好的方法嗎? 你能否詳細說明如何產生這樣的響應? –

回答

1

SOAP只是以某種有組織和結構化的方式發送某些數據的特定方式。您可以發送遵循SOAP規範的任何格式請求。該請求應該是一個有效的XML。以同樣的方式,服務器再次形成響應。我不是WCF的專家。但是,我可以告訴你,SOAP的響應應該是一個有效的XML,沒有別的。但是介意這個事情,誰會使用響應?,如果你只用於內部目的,你沒有任何表示方面的問題。但是,如果您打算將其公開爲某種公共服務,請讓您的回覆有意義。

感謝

+0

感謝您的回覆! 是的,我們正在爲內部目的創建此服務。我想返回多個值。所有的價值都代表着同樣的東西。我不想創建多個標籤,而是創建一個標籤並返回多個值。 無論如何,這可以實施? 我希望我已經解決了疑惑 謝謝! –

+0

這種情況的一個例子可以是 - 阿迪達斯 耐克 銳步