Estou planejando desenvolver um aplicativo para o iPhone e esse aplicativo teria que acessar alguns serviços SOAP. Enquanto fazia uma verificação básica no iPhone SDK, não consegui encontrar suporte para acessar serviços SOAP, um pouco de pesquisa no Google levou à conclusão de que não há suporte para SOAP no iPhone SDK.
Portanto, se eu quiser criar esse aplicativo, precisarei criar uma abordagem para acessar os serviços SOAP do iPhone. Qual seria a melhor abordagem? Alguma prática recomendada? Alguém já escreveu uma biblioteca usando a funcionalidade presente no iPhone SDK para acessar os serviços SOAP?
(Como o serviço que preciso acessar é exposto por outra parte e o expõe apenas como SOAP, infelizmente não é uma opção alternar para outro tipo de interface (por exemplo, API baseada em REST).
Gero
Respostas:
Uma palavra: não.
OK, obviamente, essa não é uma resposta real. Mas o SOAP ainda deve ser evitado a todo custo. ;-) É possível adicionar um servidor proxy entre o iPhone e o serviço da web? Talvez algo que converta REST em SOAP para você?
Você pode experimentar o CSOAP , uma biblioteca SOAP que depende da libxml2 (incluída no iPhone SDK).
Eu escrevi minha própria estrutura SOAP para OSX. No entanto, ele não é mantido ativamente e exigirá algum tempo para ser portado para o iPhone (você precisará substituir o NSXML pelo TouchXML para começar)
fonte
Minha solução foi ter um servidor proxy aceitar REST, emitir a solicitação SOAP e retornar o resultado usando PHP.
Tempo para implementar: 15 a 30 minutos.
Não é mais elegante, mas sólido.
fonte
Historicamente, rolei meu próprio acesso em um nível baixo (geração e análise de XML) para lidar com a necessidade ocasional de fazer solicitações de estilo SOAP do Objective-C. Dito isto, há uma biblioteca disponível chamada SOAPClient ( soapclient ) que é de código aberto (licenciado por BSD) e disponível no Google Code ( mac-soapclient ) que pode ser interessante.
Não atestarei suas habilidades ou eficácia, pois nunca o usei ou tive que trabalhar com suas APIs, mas ele está disponível e pode fornecer uma solução rápida para você, dependendo de suas necessidades.
A Apple tinha, ao mesmo tempo, um utilitário muito quebrado chamado WS-MakeStubs. Eu não acho que esteja disponível no iPhone, mas você também pode estar interessado em uma biblioteca de código aberto que pretende substituir isso - o código gera o Objective-C para interagir com um cliente SOAP. Novamente, eu não o usei - mas marquei-o nas minhas anotações: wsdl2objc
fonte
Você pode se conectar usando uma ferramenta que eu encontrei http://www.wsdl2code.com
fonte
Aqui está um código de amostra rápido 4 que executa chamadas de API usando o formato de serviço SOAP.
fonte
Veja aqui este link e seu roteiro. Eles têm RO | C a caminho e podem se conectar aos seus serviços da web, o que provavelmente inclui SOAP (eu uso a versão VCL que definitivamente inclui).
fonte
Dê uma olhada no gsoap que inclui dois exemplos de iOS no pacote de download em ios_plugin. A ferramenta converte o WSDL em código para SOAP e XML REST.
fonte