Olá,
(Eu havia postado isso no fórum de desenvolvimento do iPhone/iPad, mas quero consultar os especialistas deste fórum se já passaram por isso antes ou não, estou conectando do iOS->SAP Netweaver Gateway através do OData)
Esta é a primeira vez que estou lidando com o SDK OData SUP iOS. Construí os aplicativos com base nos guias da SDN.
Terminei de construir o Modelo e a classe de Dados no SAP, e o serviço de gateway está funcionando bem. Consigo enviar a URL no meu navegador e obter a resposta de volta com o XML esperado.
Agora, estou construindo um aplicativo iOS, que enviará a mesma URL de volta para o SAP, e receberá o XML. Estou usando o SDK SUP OData para iOS, o guia do desenvolvedor está disponível aqui:
http://infocenter.sybase.com/help/topic/com.sybase.infocenter.dc01708.0210/doc/html/nkr1311702599475...
O aplicativo envia a URL com o componente SDMConnectivity, através do HTTPRequest, e a conexão com o SAP funciona bem, e o XML do documento de serviço esperado é obtido corretamente. O próximo passo é analisar o XML do documento de serviço e convertê-lo em um objeto de documento de serviço em Objective C. Faço a análise com o componente SDMParse. O problema surge aqui.
1. Estou seguindo o guia, para analisar os documentos de serviço XML com este código:
SDMODataServiceDocument* sdmParseODataServiceDocumentXML(NSData* const cont_in);
self.serviceDocument = sdmParseODataServiceDocumentXML([self.httpRequest responseData]);
2. O erro ocorre após executar a segunda linha de código, o erro mostrado no console é:
2011-12-29 18:21:31.412 OData_SUP_1[4032:15203] +[NSString isNullOrEmpty:] reconhecimento de seletor inválido enviado para a classe 0x17c9c3c
2011-12-29 18:21:31.414 OData_SUP_1[4032:15203] *** Terminando o aplicativo devido a uma exceção não capturada 'NSInvalidArgumentException', motivo: '+[NSString isNullOrEmpty:]: seletor não reconhecido enviado para a classe 0x17c9c3c'
(0xaeb062 0x39add0a 0xaecaed 0xa51f10 0xa51cf2 0x4091d 0x3a8fb 0x3b29b 0x3ba88 0x27731 0x1652672 0x4548b37 0x454edab 0x1650e0d 0x270f0 0x27b2d 0x2817a 0x3859 0xc802c6 0xc81196 0xc90033 0xc90ae8 0xc84399 0x1facfa9 0xabf1d5 0xa24042 0xa2292a 0xa21dd4 0xa21ceb 0xc80b97 0xc8238b 0x34f 0x2d15 0x1)
terminate called throwing an exception
Em seguida, fiquei preso nesse erro o dia todo. Não consigo depurar o código-fonte porque o SDK não fornece o arquivo de implementação. Tentei imaginar o melhor possível o que deu errado, mas não consigo resolver. Até tentei converter os Dados que recebi de [self.httpRequest responseData] em XML e compará-los com o resultado do Navegador e dos Guias, nada parece estar errado.
Alguém já passou por esse problema antes? Ou podem me aconselhar sobre o que posso fazer no Xcode para entender melhor o erro que obtive?