Soap サービスの wsdl で SUDZC から生成された LoginHandler を使用すると、次の出力のみが表示されます。
Login returned the value: OK
ただし、service.logging を有効にすると、次の出力が得られます。
<soap:Body>
<LoginResponse xmlns="http://tempuri.org/">
<LoginResult>OK</LoginResult>
<authToken>
<InnerToken>21017998-02fd-4ac9-b132-98c0cb2fd1bf</InnerToken>
</authToken>
</LoginResponse>
InnerToken 値を取得し、後続の SOAP 呼び出しのために保持する必要があります (つまり、service.headers メンバーに追加する必要があります)。上記の結果から InnerToken を取得する方法についてのアイデアはありますか?
次の LoginHandler コードフラグメントを使用しています。
- (void) LoginHandler: (id) value {
// Handle errors
if([value isKindOfClass:[NSError class]]) {
NSLog(@"%@", value);
return;
}
// Handle faults
if([value isKindOfClass:[SoapFault class]]) {
NSLog(@"%@", value);
return;
}
// Do something with the NSString* result
NSString* result = (NSString*)value;
NSLog(@"Login returned the value: %@", result);
}