石鹸サービスにアクセスするために、iOS iPhone アプリで sudzc を使用していくつかのテストを開始しました。正しい wsdl へのリンクで sudzc を使用し、カスタマイズされたコードをダウンロードしました。
次に、サービスを次のように初期化します。
// Create the service
service = [EMLMagentoService service];
次のセッションを開きます。
// Returns NSString*
/* Login user and retrive session id */
SoapRequest *result=[service login:self action:@selector(loginHandler:) username: @"user.test" apiKey: @"GJGDWYgfgjgYGuueyfgue"];
セッションID文字列を返す...次の呼び出しでそのIDを使用するよりも
// Handle the response from login.
- (void) loginHandler: (id) value {
NSLog(@"##### loginHandler ######");
// Handle errors
if([value isKindOfClass:[NSError class]]) {
NSLog(@"%@", value);
return;
}
// Handle faults
if([value isKindOfClass:[SoapFault class]]) {
NSLog(@"%@", value);
return;
}
NSString *sessionID = (NSString *)value;
[service call:self action:@selector(callHandler:) sessionId:sessionID resourcePath:@"catalog_category.level" args:nil];
}
// Handle the response from call.
- (void) callHandler: (id) value {
NSLog(@"##### callHandler ######");
// Handle errors
if([value isKindOfClass:[NSError class]]) {
NSLog(@"%@", value);
return;
}
// Handle faults
if([value isKindOfClass:[SoapFault class]]) {
NSLog(@"%@", value);
return;
}
NSLog(@"Kind of class: %@",[value class]);
NSLog(@"result:%@", value);
}
私が得るのは、形式のない文字列です... xmlはありません...配列オブジェクトはありません...
##### loginHandler ######
##### callHandler ######
Kind of class: __NSCFString
result:category_id2parent_id1nameDefault Categoryis_active1position1level1
xml または逆シリアル化されたオブジェクトを取得するにはどうすればよいですか?