現在、Sudzc で生成されたコードに問題があります。(ARC ベースの iOS の場合)
生成されたコードを使用して SOAP Web サービスを呼び出すと、応答を取得する必要があるときに問題が発生します。
現在、次のような通話応答を処理しています。
-(void)userLoginCompleted:(id)value
{
if([value isKindOfClass:[NSError class]])
{
NSLog(@"%@",value);
}
if([value isKindOfClass:[SoapFault class]])
{
NSLog(@"%@",value);
}
if([value isKindOfClass:[IWWSLoginResult class]])
{
IWWSLoginResult *loginData = (IWWSLoginResult*)value;
NSLog(@"LoginData Result: %i",loginData.Result);
NSLog(@"LoginData AccessToken: %@",loginData.AccessToken)
//Other login related stuff here
}
}
このコードが NSError または SoapFault で呼び出されると、コードは正常に実行されます (つまり、ログ内のエラーが解析されます)。
しかし、パラメーターとして IWWSLoginResult を使用して呼び出された場合、Sudzc コードのログ記録が次のように表示されている場合でも、Result
およびAccessToken
プロパティはそれぞれ次のようにNO
なります。(null)
ResponseEnvelope
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<UserLoginResponse xmlns="[Omitted]">
<UserLoginResult>
<Result>true</Result>
<AccessToken>[Omitted]</AccessToken>
</UserLoginResult>
</UserLoginResponse>
</soap:Body>
</soap:Envelope>
AccessToken and xmlns-url ommitted, but present
これは生成された SudzC コードのエラーですか、それとも私の側のエラーですか?