Necesito consumir algunos servicios web .NET asmx que actualmente están implementados en algún sitio web. Necesito crear una aplicación que consuma esos servicios web de la misma manera que lo hace la página web. Hay dos problemas Primero, no tengo ninguna especificación sobre los métodos de servicio web (llamadas, formato usado, etc.). Y en segundo lugar, solo tengo que crear una aplicación que use JSON-framework para obtener datos JSON de flick usando su API. Supongo que eso fue hecho usando REST webservices :) Entiendo que para realizar posts/llegar al servidor necesito construir una cadena de solicitud, luego pasarla al servidor web, obtener resultados, analizarlos (XML o JSON) y luego verlos. Por lo tanto, no sé cómo identificar el formato de los servicios web del sitio web actual. He visto la fuente de ese sitio web, vi un montón de archivos de código Javascript que están haciendo un montón de cosas misteriosas de comprobación, validación y etc. Entonces, ¿cómo identificar el formato correcto?¿Cómo se puede distinguir si se trata de un servicio web SOAP o REST?
Respuesta
Si se trata de un servicio .NET ASMX, siempre es SOAP. Un servicio SOAP expuesto a través de HTTP siempre usará los métodos HTTP POST para la comunicación. También debe exponer un archivo .wsdl para que lo consuma y genere también un código de cliente para que no tenga que preocuparse por usar un marco JSON u orquestar sus propias solicitudes HTTP a ese servicio web ... su Objective-C generado el cliente debe encargarse de eso por usted.
This question seems to have the answers you need for doing this in Objective-C.
Como @whaley dice en su respuesta, parece que se está tratando con un servicio SOAP aquí. Saber eso te permite dar un paso en la dirección correcta, pero si quieres interactuar con él necesitarás hacer más que eso. Necesitará conocer los detalles de las operaciones SOAP que admite, el esquema XML para los mensajes de solicitud y respuesta, etc. Si puede encontrar el archivo WSDL, debe proporcionarle toda esa información.
Si no puede rastrear el archivo WSDL (a algunos servicios no les gusta hacerlo fácil por varias razones), entonces todavía puede ser capaz de resolverlo. Si el sitio web realmente interactúa utilizando la interfaz SOAP, entonces puede ver las solicitudes que su navegador envía utilizando cualquier cantidad de herramientas. En Safari, habilite el menú de herramientas del desarrollador y luego muestre el inspector web. Puede ver los detalles de las solicitudes HTTP y ver qué está sucediendo. Firefox tiene el plugin firebug que puede hacer lo mismo y más. Cada navegador tiene sus propias herramientas para desarrolladores, pero deberá encontrar la herramienta adecuada para su navegador.
Palabra de advertencia: con frecuencia, una página web que interactúa con su servicio de fondo no utiliza el servicio SOAP directamente. Puede estar utilizando una interfaz alternativa y no pública para hacer las llamadas que necesita. Si observa las solicitudes que envía su navegador y se ve como un mensaje SOAP (muchas cosas como elementos SoapEnvenlope con distintos XML de solicitud/respuesta), entonces es bastante seguro asumir que puede replicar esos mensajes SOAP de Object-C. De lo contrario, es posible que no tenga suerte a menos que pueda rastrear un archivo WSDL.
- 1. ¿Cómo puede Excel 2007/2010 consumir un servicio web REST?
- 2. ¿Servicio web REST WSDL?
- 3. ¿Cómo se puede distinguir si un objeto contextual dado es una actividad o un contexto de servicio?
- 4. Mensajes SOAP en el servicio web basado en REST
- 5. REST vs SOAP evolvability
- 6. ¿Se puede diseñar una SOA con REST?
- 7. ¿Cómo se puede depurar el servicio web?
- 8. de SOAP servicio web evolución
- 9. consumir servicio web SOAP
- 10. Servicio WCF REST y SOAP sin WebServiceHostFactory
- 11. ¿Se puede consumir un servicio WCF como si fuera un servicio web ASP.NET?
- 12. ¿Se puede usar REST en PHP? ¿Si es así, cómo?
- 13. Salesforce SOAP VS REST
- 14. No se puede llamar al servicio web
- 15. ¿Puede un WSDL indicar la versión SOAP (1.1 o 1.2) del servicio web?
- 16. ¿Cómo se ve un servicio web Node.js?
- 17. ¿Cómo se puede saber si se instala un servicio de Windows utilizando (preferentemente) solo un lote?
- 18. Servicio web Java ASYnc REST con Jersey?
- 19. Consumir un servicio web REST XML
- 20. Rest vs. Soap. ¿REST tiene un mejor rendimiento?
- 21. consumir servicio web SOAP utilizando jquery
- 22. prueba REST JSON servicio web Grails
- 23. ¿Puedo pedir a un O si se trata de izquierda (o derecha)?
- 24. Consuma un servicio web SOAP sin depender de la aplicación.config
- 25. ¿Cómo se consume el servicio WCF en modo REST?
- 26. Si SOAP ahora se considera sobreinyectado sobre REST, ¿por qué no es WCF?
- 27. ¿Cómo manejar la autenticación en el servicio web PHP REST?
- 28. Consumir el servicio web SOAP en ASP.NET
- 29. .chosen.change() - cómo saber si se trata de una acción de selección o anulación de selección
- 30. Llamadas al servicio web SOAP desde Javascript
He intentado ver más información con Firefox firebug. Después de hacer un seguimiento de las solicitudes, veo que la solicitud se realiza en un enlace: http://www.website.com/GetQuote.aspx?units=1&len=1&width=1&height=1&weight=1&type=1&qty=1&cnt=GB&postcode=as123. parece un servicio web REST. – Centurion