1
我目前遇到了Sudzc生成的代碼問題。 (適用於基於ARC的iOS)Sudzc響應問題(iOS ARC)
使用生成的代碼調用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,該代碼運行正常(即,它會解析日誌中的錯誤)。
但即使Sudzc代碼的記錄顯示,當它被稱爲一個IWWSLoginResult爲參數的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代碼中的錯誤,還是這是我的錯誤?
這完美地工作!謝謝! –
我有完全相同的錯誤,但不是添加「soap:」前綴我添加了額外的if語句 - 如果元素爲nil,則嘗試查找soap:Body –