2008-12-15 129 views
2

我正在創建.asmx webservice以滿足集成環境的特定需求,對於我的生活我無法弄清楚如何讓它的一部分工作。關鍵是請求WSDL需要如下所示。 (請注意我刪除了SOAP信封和命名空間信息)如何通過.asmx Web服務獲取此請求結構?

<methodOne> 
    <myValue>string</myValue> 
    <myDemoGroup> 
     <myDemoGroupItem>string</myDemoGroupItem> 
     <myDemoGroupItem2>string</myDemoGroupItem2> 
    </myDemoGroup> 
    <myComplexGroup> 
     <mySubStructure> 
      <subItem1>string</subItem1> 
      <subItem2>string</subItem2> 
     </mySubStructure> 
    </myComplexGroup 
</methodOne> 

現在,我知道如何照顧大多數的這一點,方法一個標籤是由我的參數的名稱來處理,然後將裏面的物品都只是班上的元素。因此,像這樣得到的一切,除了「MyComplexGroup」

[Web Method] 
public void MyWebMethod(MyWebMethodRequest methodOne) 
{ 
    //Do my stuff 
} 

public class MyWebMethodRequest 
{ 
    public string myValue {get; set;} 
    public MyDemoGroupInfo myDemoGroup {get; set;} 
} 

public class MyDemoGroupInfo 
{ 
    public string myDemoGroupItem {get; set;} 
    public string myDemoGroupItem2 {get; set;} 
} 

的問題是如何將我定義「myComplexGroup」允許多個mySubStructure元素的創建,同時還輸出所有的項目都WSDL。

如果我繼續做這樣的事情

public class MyComplexGroupInfo 
{ 
    public List<MySubStructureInfo> mySubStructure {get; set;} 
} 

public class MySubStructureInfo 
{ 
    public string subItem1 {get; set;} 
    public string subItem2 {get; set;} 
} 

然後我可以添加public MyComplexGroupInfo myComplexGroup {get; set;}對象,我會得到它的一部分,而是上市的SubItem1和subItem2的它只是說MySubStructureInfo與零集到一個。

我該如何解決這個問題?

回答

3

如果您有需要實施的WSDL合約,您可以嘗試wsdl.exe /serverInterface以獲取服務存根生成。

+0

啊,我從來沒有使用過。我有什麼要傳遞給它? – 2008-12-15 14:58:05

1

也許是一個明顯的問題,但你是否嘗試使用wsdl.exe來查看它吐出了什麼?你總是可以用它來指導(即你不必直接使用這個類)。