Использование сгенерированного в Obj-C кода с использованием WSDLToObj-c Tool - PullRequest
0 голосов
/ 20 сентября 2011

Из моего приложения мне нужно вызвать веб-сервис, чтобы получить список книг на сервере.Для этой цели предоставляется следующая ссылка WSDL http://demo.kitaboo.com/eBookServices/services/ListOfBooksService?wsdl

Использование инструмента WSDL2ObjC, доступного по адресу http://code.google.com/p/wsdl2objc/downloads/list Я сгенерировал эквивалентный код объективного C для данного URL-адреса WSDL.

Это ссылка , на которую я ссылался при реализации для вызова веб-службы.

#import "MyWebService.h"

MyWebServiceBinding *binding = [MyWebService MyWebServiceBinding];
binding.logXMLInOut = YES;

ns1_MyOperationRequest *request = [[ns1_MyOperationRequest new] autorelease];
request.attribute = @"attributeValue";
request.element = [[ns1_MyElement new] autorelease];
request.element.value = @"elementValue"];

MyWebServiceBindingResponse *response = [binding myOperationUsingParameters:request];

NSArray *responseHeaders = response.headers;
NSArray *responseBodyParts = response.bodyParts;

for(id header in responseHeaders) {
  if([header isKindOfClass:[ns2_MyHeaderResponse class]]) {
    ns2_MyHeaderResponse *headerResponse = (ns2_MyHeaderResponse*)header;

    // ... Handle ns2_MyHeaderResponse ...
  }
}

for(id bodyPart in responseBodyParts) {
  if([bodyPart isKindOfClass:[ns2_MyBodyResponse class]]) {
    ns2_MyBodyResponse *body = (ns2_MyBodyResponse*)bodyPart;

    // ... Handle ns2_MyBodyResponse ...
  }
}

Я не могу связать такие термины, как (ns1_MyOperationRequest, MyWebServiceBindingResponse, myOperationUsingParameters), которые присутствуют в коде.

Есть идеи о том, как это сделать?

Ответы [ 2 ]

1 голос
/ 20 сентября 2011

РЕДАКТИРОВАТЬ для своего обновленного вопроса:

В заголовочном файле добавьте ListOfBooksServiceSoapBindingResponseDelegate и также добавьте - (void) operation:(ListOfBooksServiceSoapBindingOperation *)operation completedWithResponse:(ListOfBooksServiceSoapBindingResponse *)response;

Проверьте инструкции :

Как только вы получаете WSDL2ObjC, генерация кода становится довольно простой.

  1. Запустить приложение
  2. Найдите файл WSDL или введите URL-адрес
  3. Просмотр выходного каталога
  4. Нажмите "Parse WSDL"

Файлы исходного кода будут добавлены в выходной каталог, который вы указано. Там будет одна пара файлов .h / .m для каждого пространства имен в ваш WSDL.

Если вы этого не заметили, вы, должно быть, скачали автономный WSDL2ObjC.app. Окно выглядит так:

enter image description here

0 голосов
/ 20 сентября 2011

Просто введите вашу ссылку WSDL в ссылку и получите код http://sudzc.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...