我必须在iPhone中实现WCF Web服务。但问题是,当我尝试传递一个对象然后它发送我null值,当我发布对象的nil值然后它给我回应
SDZAuthService* service = [SDZAuthService service];
service.logging = YES;
service.username = [[NSUserDefaults standardUserDefaults] objectForKey:@"USERID"];
service.password = [[NSUserDefaults standardUserDefaults] objectForKey:@"PASSWORD"];
// Returns SDZLoginUserResult*.
//[service LoginFBUser:self action:@selector(LoginFBUserHandler:) fbUserId: @"" ctx: [[SDZServiceContext alloc] init]];
SDZServiceContext *object=[[SDZServiceContext alloc]init];
object.CallerUserId = 1;
object.CallerUserHostAddress = @"127.0.0.1";
object.ContextData = nil;
// Returns SDZLoginUserResult*.
[service LoginUser:self action:@selector(LoginUserHandler:) userName:service.username password:service.password ctx:object];
如果我传递nil值而不是将对象传递给ctx:那么它会向我发送reposne但是对于object它会给我null值。
感谢您的帮助 Avnish
答案 0 :(得分:1)
您可能在Objective-C nil is for reference objects and NULL is for non-object pointers (C references & such)中知道这一点。听起来客户端代码在进行服务调用后没有初始化ctx。如果您控制WCF服务,则应enable message logging查看服务正在接收的内容。