Banco de dados tenta inserir valores NULOS quando uma solicitação POST é enviada para o webservice através de RestKit

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

Pergunta

Quando eu fizer uma solicitação POST para o meu webservice, o seguinte erro é gerado:

TinyTds::Erro:Não é possível inserir o valor NULL na coluna 'BankCD', a tabela 'SlotsMasterData.O mestre.O banco";a coluna não permite valores nulos.

O servidor de console exibe a seguinte:

enter image description here

A partir do acima você pode ver que existem valores para todos os atributos do meu Banco de objeto, mas, de repente, a referência para cada um é NULO quando 'SELECT CAST(ÂMBITO de IDENTIDADE() ..."é executada.

Este é o meu código do aplicativo:

    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];

Qual é feita uma tentativa para inserir valores NULOS?Como faço para corrigir isso?Obrigado por sua ajuda!

Foi útil?

Solução

bankRequestMapping deve ser declarado como o inverso do mapeamento do bankMapping.Como você tem no momento, os nomes de parâmetro parece ser o errado caminho de volta.Você deve usar Charles para verificar o que são, na verdade, de envio e de que ele corresponde ao que você espera.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top