Нужна помощь по коду Objective-C (создан WSDL2ObjC) - PullRequest
0 голосов
/ 19 июня 2011

В документации WSDL2ObjC есть пример кода, подобный приведенному ниже, но в моем сгенерированном коде я не смог найти какой-либо класс, метод или свойство, эквивалентное «myOperationUsingParameters», что это и где я могу найти?Я также не знаю, что такое «myOperation» и что такое «ns1».

Я новичок, поэтому в Цели C, возможно, есть смысл, когда я изменяю заглавные буквы переменных определенным образом и объединяюих с некоторыми ключевыми словами?

например: ns1_MyOperationRequest - myOperationUsingParameters

tnx

#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];

Ответы [ 2 ]

2 голосов
/ 07 июля 2011

Все зависит от имени вашего класса веб-службы и т. Д., Так как wsdl2objc составляет множество ваших NSObjects и методов, основанных на этом, однако, предполагая, что вы используете привязки soap 1.2 и ваш веб-сервис назывался SimpleService, следующее вызоветвеб-метод с именем 'MobileTestService и возвращает целочисленное значение из сгенерированного XML.

-(NSString *)returnThatStringFromWebServiceResult 

{


SimpleServiceSoap12Binding * binding = [SimpleService SimpleServiceSoap12Binding];

binding.logXMLInOut = YES; // shows all in the console log.

SimpleService_concat * testParams = [[SimpleService_concat new]autorelease];

testParams.s1 = someTextField.text; // parameters all become properties of this testParams object

testParams.s2 = anotherTextField.text;

SimpleServiceSoap12BindingResponse * response= [binding SimpleService_concatUsingParameters:testParams];

[response self]; // removes compile error

NSArray * responseBodyParts = response.bodyParts;

NSError * responseError = response.error;

if (responseError!=NULL) 

{
    return @"";     // if error from ws use [responeError code]; for http err code


}

for (id bodyPart in responseBodyParts)

{

    if ([bodyPart isKindOfClass:[SimpleService_concat_Response class]]) 

    {
        SimpleService_concatResponse* body = (SimpleService_concatResponse*) bodyPart;

        return body.SimpleService_concatResult; // if you are returning a string from your WS then this value will be a string, 

    }

}
0 голосов
/ 19 марта 2017

В WSDL2ObjC получение данных = <> и ответ ноль.
Код:

VKQWare_Binding * binding = [[VKQWare_Binding alloc] init];
VKQRequestResultHandler *reqResultHandler = [[VKQRequestResultHandler alloc]init];
binding.EnableLogging = YES;
reqResultHandler.EnableLogging = YES;

NSMutableURLRequest *mutableURLRequest = [binding createPasswordRequest:@"userName" p_txtPassword:@"Password" p_codLocationCode:@"xxx" __request:reqResultHandler];
[reqResultHandler prepareRequest:mutableURLRequest];
[reqResultHandler sendImplementation:mutableURLRequest];

OutputHeader: (null) OutputBody: (null) OutputFault: Error Domain = Code = 0 "(null) "

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