196 votos

Cómo acceder a los servicios SOAP desde el iPhone

Estoy pensando en desarrollar una aplicación para el iPhone y que la aplicación tendría que tener acceso a un par de servicios SOAP. Haciendo un poco de corriente básica en el SDK del iPhone, yo no era capaz de encontrar cualquier tipo de apoyo para acceder a los servicios SOAP, un poco de Google, llevan a la conclusión de que no existe apoyo para el JABÓN en el SDK del iPhone.

Así que si yo quiero construir esa aplicación que necesita para venir para arriba con un enfoque de acceso a servicios SOAP desde el iPhone. ¿Cuál sería el mejor enfoque? Alguna de las mejores prácticas? ¿Alguien ya escribe una biblioteca utilizando la funcionalidad que está presente en el SDK del iPhone para acceder a los servicios SOAP?

(Ya que el servicio que necesitas para acceder expuesto por la otra parte y que sólo se exponen como JABÓN, es, desafortunadamente, una opción para cambiar a otro tipo de interfaz (p. ej. Basada en REST API).

Gero

44voto

schwa Puntos 9102

En una palabra: no.

OK, obviamente que no es una respuesta real. Pero todavía JABÓN debe ser evitado a toda costa. ;-) Es posible agregar un servidor proxy entre el iPhone y el servicio web? Tal vez algo que convierte el RESTO en JABÓN para usted?

Usted podría intentar CSOAP, un JABÓN de la biblioteca que depende de libxml2 (que se incluye en el SDK del iPhone).

He escrito mi propio JABÓN marco para OSX. Sin embargo no se mantiene activa y requerirá algún tiempo para puerto para el iPhone (que necesitará para reemplazar NSXML con TouchXML para empezar)

6voto

davidjhinson Puntos 538

Mi solución era disponer de un servidor proxy aceptar el DESCANSO, el tema de la solicitud SOAP, y volver resultado, el uso de PHP.

Tiempo para aplicar: 15 a 30 minutos.

No más elegantes, pero sólido.

3voto

heckj Puntos 3088

He históricamente rodar mi propio acceso a un nivel bajo (XML generación y análisis) para lidiar con la necesidad ocasional para hacer JABÓN estilo de las solicitudes de Objective-C. dicho esto, hay una biblioteca en el llamado SOAPClient (soapclient) que es de código abierto (con licencia BSD) y está disponible en Google Code (mac-soapclient) que podrían ser de su interés.

No voy a dar fe de sus habilidades o su eficacia, tal como yo nunca he usado o tenido de trabajar con su API, pero está disponible y podría proporcionar una solución rápida para usted según sus necesidades.

Apple había, a la vez, una muy roto utilidad llamada WS-MakeStubs. Creo que no está disponible en el iPhone, pero usted también podría estar interesado en una fuente abierta de la biblioteca de la intención de reemplazar ese código de generar cabo Objective-C para interactuar con un cliente SOAP. De nuevo, no lo he utilizado, pero me he marcado en mis notas: wsdl2objc

1voto

Bennya Puntos 271

Puede conectarse utilizando una herramienta que he encontrado http://www.wsdl2code.com

SampleServiceProxy *proxy = [[SampleServiceProxy alloc]initWithUrl:@"YOUR
        URL" AndDelegate:self];

[proxy GetDouble];
[proxy GetEnum];
[proxy getEnum:kTestEnumTestEnum2];
[proxy GetInt16];
[proxy GetInt32];
[proxy GetInt64];
[proxy GetString];
[proxy getListStrings];

0voto

mj2008 Puntos 4815

Mira aquí este enlace y su hoja de ruta. Han RO|C en el camino, y que pueden conectarse a sus servicios web, que probablemente incluye JABÓN (yo uso el VCL versión que sin duda lo incluye).

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: