Приложение для iPhone - Будет ли достаточно ввода ниже для запроса веб-метода? - PullRequest
1 голос
/ 10 декабря 2011

Для приложения для iPhone будет достаточно ввода ниже для запроса веб-метода SOAP? В Android было бы достаточно имени метода, имени мыла, пространства имен, URL и входных параметров. Как насчет приложений для iOS?

Я посмотрел пример кода iPhone -

-(IBAction)btnFindCountry:(id)sender { 

NSString *soapMsg =
[NSString stringWithFormat: 
 @"<?xml version=\"1.0\" encoding=\"utf-8\"?>" 
 "<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/\">"
 "<soap:Body>"
 "<GetGeoIP xmlns=\"http://www.webservicex.net/\">"
 "<IPAddress>3.4.5.6</IPAddress>"
 "</GetGeoIP>"
 "</soap:Body>"
 "</soap:Envelope>"]; 

//---print it to the Debugger Console for verification---
NSLog(@"%@",soapMsg); 

NSURL *url = [NSURL URLWithString:
              @"http://www.webservicex.net/geoipservice.asmx"];

NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];

//---set the various headers---
NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMsg length]];

[req addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];

[req addValue:@"http://www.webservicex.net/GetGeoIP" forHTTPHeaderField:@"SOAPAction"];

[req addValue:msgLength forHTTPHeaderField:@"Content-Length"];

 //---set the HTTP method and body---
[req setHTTPMethod:@"POST"]; 

[req setHTTPBody:[soapMsg dataUsingEncoding:NSUTF8StringEncoding]];

 //---start animating--

 [activityIndicator startAnimating]; 

 conn = [[NSURLConnection alloc] initWithRequest:req  delegate:self];

         if (conn) { 
             webData = [[NSMutableData data] retain];
         }

}

Мне предоставляется следующий веб-сервис ... Как мне преобразовать его для кода приложения iPhone, как указано выше?

Name: xxyy

Binding: Book247XMLWebServiceForMobileBinding

Endpoint: yyxx.com/webservice/indexMobile.php

SoapAction: yyxx.com/webservice/Book247XMLWebServiceForMobile.wsdl#tGetSearchDataByCategories

Style: rpc

Input:

  use: encoded

  namespace: yyxx.com/webservice/Book247XMLWebServiceForMobile.wsdl

  encodingStyle: schemas.xmlsoap.org/soap/encoding/

  message: tGetSearchDataByCategoriesRequest

  parts:

    vendor_access_url: xsd:string

    category_id: xsd:integer

    subcategory_id: xsd:integer

Output:
  use: encoded

  namespace: yyxx.com/webservice/Book247XMLWebServiceForMobile.wsdl
  encodingStyle:schemas.xmlsoap.org/soap/encoding/
  message: xxyy
  parts:
    return: tns:Searches

Namespace: webservice/Book247XMLWebServiceForMobile.wsdl

Transport: schemas.xmlsoap.org/soap/http

Спасибо в ожидании.

...