2014-11-21 59 views
1

我有方法機器人框架調用SOAP方法與Array參數

public void helloStudentsName(String[] names) 

而且用戶機器人框架(SudsLibrary)一個Java SOAP服務來調用這個,是因爲我在機器人沒有判罰陣列,所以我使用List在代碼

${names} Create List name1 name2 name3 
    Call Soap Method helloStudentsName ${names} 

我有錯誤

TypeNotFound: Type not found: 'arg0' 

並通過@列表替換$申報

@{names} Create List name1 name2 name3 
    Call Soap Method helloStudentsName @{names} 

沒有錯誤,但在Java方法中收到一個空數組。

你能告訴我如何調用這個方法嗎?

回答

1

我認爲你需要創建一個特殊的WSDL數組對象,而不是使用普通的機器人列表。 SudsLibrary有一個關鍵字,並在一個例子中使用它。

假設您的WSDL定義了一種ArrayOfString,你可能會做這樣的事情:

| | ${string array}= | Create Wsdl Object | ArrayOfString 
| | Append To List | ${string array} | name1 
| | Append To List | ${string array} | name2 
| | Append To List | ${string array} | name3 
| | ${result}= | Call Soap Method | helloStudentsName | ${string array} 

此,如果您的WSDL定義類型的ArrayOfString纔會工作。您的實際WSDL可能會通過其他名稱來調用它。