2014-01-16 48 views
0

我是使用web服務開發IOS的新手。任何人都可以幫助我如何使用SOAP Web服務中的數組參數創建請求。在PHP我可以做這個創建請求:如何使用數組參數在iOS中創建soap請求?

$params = array(
"authuserid" => "454", 
"authpassword" => ""); 
$result = $client->call("EC_LOGON",$params); 

我有一個很難找到一個很好的例子,如何應用在客觀C編程代碼,請幫助我。

回答

0

從您的應用程序的代碼中,您可以通過將一個數組的所有對象一個接一個地附加到一個字符串上,並通過任何特殊字符(如*)將它們分開,現在可以在您的PHP代碼中使用相同的數組邏輯。

可以從以下代碼數組轉換爲字符串:

NSString *stringToPass; 

for (int i = 0; i < [yourArray count]; i++) { 
    if ([stringToPass length]) 
    { 
     stringToPass = [stringToPass stringByAppendingFormat:@"*%@",[yourArray objectAtIndex:i]integerValue]]]; 
    } 
    else 
    { 
     stringToPass = [NSString stringWithFormat:@"%@",[yourArray objectAtIndex:i]integerValue]]]; 
    } 

} 
+0

對不起,但這意味着什麼 - 請提供一些代碼。 – Popeye

1

與參數的SOAP消息應該如下,

NSString *soapMessage = [NSString stringWithFormat: 
          @"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" 
          "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n" 
          "<soap:Body>\n" 
          "<TestSoap xmlns=\"http://testsoap.com/\">\n" 
          "<parameterOne>%@</parameterOne >\n" 
          "<parameterTwo>%@</parameterTwo >\n" 
          "</TestSoap >\n" 
          "</soap:Body>\n" 
          "</soap:Envelope>\n", valueOne, valueTwo];