我在嘗試調用WSDL定義的函數時遇到了有關來自Visual Studio 2010的無效定義的錯誤。問題是你不能在兩個獨立的函數中使用相同的消息定義。所以我必須創建多個消息定義,而他們也一樣。如何在多個函數中使用相同的WSDL消息defenitions?
例如:
<message name="Hi">
<part name="input" type="xsd:string">
</message>
<message name="Say_hi_back">
<part name="return" type="xsd:string">
</message>
<message name="I_hate_you">
<part name="return" type="xsd:string">
</message>
<portType name="DataPort">
<operation name="sayHello">
<input message="tns:Hi"/>
<output message="tns:Say_hi_back"/>
</operation>
<operation name="sayIHateYou">
<input message="tns:Hi"/>
<output message="tns:I_hate_you"/>
</operation>
</portType>
現在調用的函數任何一個可以給你一個錯誤。除非我用完全相同的部件添加Hi2,並將操作定義中的一個輸入消息更改爲tns:Hi2。
這是爲什麼?這個不成立。我正在構建一個服務,我將不得不將customerID添加到我要構建的所有函數中。一個用於獲得約會的功能,一個用於支付,一個用於所有。這意味着我將不得不復制10次的消息定義並將它們命名爲getCustomerID * N *。
也很多時候我將不得不有多個輸入參數。舉例來說,有人希望在日期x和日期y之間具有所有約會。 (這適用於像付款等存儲的所有信息)雖然我只需要一個帶有int,日期和日期的消息。我將不得不寫一個巨大的文件。
所以我的問題是,如果有任何其他方式來做到這一點。我只用了兩天的WSDL,而那兩天充滿了問題,並且欺騙了「勝利」。你解決一個問題的唯一途徑就是找出那個打開下一個門的門。
謝謝。 :)
謝謝,現在就試試。 ;) – AmazingDreams 2012-08-09 09:31:14
這修正了它,謝謝。 ;) – AmazingDreams 2012-08-09 10:07:34
現在一個函數工作,而其他4個都返回null:S有什麼想法?已經用Google搜索了。 – AmazingDreams 2012-08-09 11:43:00