Los intentos de base de datos para insertar valores nulos cuando se envía una solicitud de publicación a WebService a través de Restkit

StackOverflow https://stackoverflow.com//questions/20005388

Pregunta

Cuando hago una solicitud de publicación a mi WebService, se genera el siguiente error:

TINYTDS :: ERROR: No se puede insertar el valor NULL en la columna 'BankCD', Tabla 'slotsmasterdata.master.bank';La columna no permite nulos.

La consola del servidor muestra lo siguiente:

ingrese la descripción de la imagen aquí

Desde lo anterior, puede ver que existen valores para todos los atributos de mi objeto bancario, pero de repente, la referencia a cada una es nula cuando se realiza 'Seleccione el reparto (Identidad de alcance () ...' se realiza.

Este es mi código de aplicación:

    RKObjectManager *objectManager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:basePathToWebService]];

    RKObjectMapping *bankMapping = [RKObjectMapping mappingForClass:[Banks class]];

    NSDictionary *attributeMappingDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                                                @"BankID", @"bankID",
                                                @"BankCD", @"bankCD",
                                                @"BankName", @"bankName",
                                                @"InsertSourceKey", @"insertSourceKey",
                                                @"UpdateSourceKey", @"updateSourceKey",
                                                @"Active", @"active",
                                                nil];

    [bankMapping addAttributeMappingsFromDictionary:attributeMappingDictionary];

    RKObjectMapping *bankRequestMapping = [RKObjectMapping requestMapping];
    [bankRequestMapping addAttributeMappingsFromDictionary:attributeMappingDictionary];

    RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:bankMapping method:RKRequestMethodAny pathPattern:@"/banks" keyPath:nil statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];

    RKRequestDescriptor *requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:bankRequestMapping objectClass:[Banks class] rootKeyPath:nil method:RKRequestMethodAny];

    [objectManager addResponseDescriptor:responseDescriptor];
    [objectManager addRequestDescriptor:requestDescriptor];

    [RKMIMETypeSerialization registerClass:[RKNSJSONSerialization class] forMIMEType:@"text/plain"];

    //Post
    [objectManager postObject:bank path:@"/banks" parameters:nil success:nil failure:nil];

¿Por qué se hace un intento de insertar valores nulos?¿Cómo puedo solucionar esto?Gracias por tu ayuda!

¿Fue útil?

Solución

bankRequestMapping debe ser declarado como el mapeo inverso del bankMapping.Como lo tiene en este momento, los nombres de los parámetros parecen ser de manera incorrecta.Debe usar Charles para verificar lo que realmente está enviando y que coincide con lo que espera.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top