estoy reescribiendo un servicio web de jabón de .net a php. Por defecto, PHP me está dando etiquetas que se ven así:cambiar prefijos de jabón en php
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/"><SOAP-ENV:Header><ns1:FindAllCategories/></SOAP-ENV:Header><SOAP-ENV:Body><ns1:FindAllCategoriesResponse><ns1:FindAllCategoriesResult><ns1:ArtistCategoryDto>
etc ...
pero necesito esto:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><FindAllCategoriesResponse xmlns="http://tempuri.org/"><FindAllCategoriesResult><ArtistCategoryDto>
Esto es similar a la pregunta aquí: PHP AND SOAP. Change envelope embargo me gustaría no hackearlo de la forma en que lo hizo. Además, estoy creando un servicio de jabón que será consumido por una aplicación de iPhone existente, sin usar PHP para consumir un servicio de jabón usando SoapClient. La aplicación de iPhone solo analiza el xml sin procesar y no puedo cambiar la aplicación de iPhone en este momento.
¿Puede decirnos qué específicamente no le gusta con la otra solución? ¿Dónde ves una falta? Además, "Simplemente necesito que esto funcione" es difícil de lograr, porque la aplicación de Iphone obviamente tiene una falla. Tal vez no sea el único, entonces, ¿cómo podría alguien responder a tu pregunta si no es solo adivinar? – hakre
Claro. Entonces un par de problemas. Primero, estoy construyendo un servicio de soap, y el ejemplo es usar un soap client. No estoy usando ningún cliente de php soap, la aplicación es el cliente. En segundo lugar, no me gusta usar RegEx para hackear el xml.Prefiero hacerlo con alguna API nativa o, si es absolutamente necesario, usar un analizador xml para analizar los espacios de nombres, pero no sé cómo obtener una respuesta para analizar el XML. La aplicación definitivamente tiene un inconveniente, porque no está usando jabón de la manera en que fue diseñado. Pero es la forma en que fue construido porque no había buenos analizadores de jabón en ese momento. – fregas