Estoy trabajando en un cliente SOAP en PHP, y las llamadas están pasando por el servicio fino, con la excepción de llamadas donde hay elementos que son idénticos el uno al otro. Parece que cuando esto sucede, en lugar de crear dos elementos separados pero idénticos, como este:PHP SoapClient creando referencias XML para elementos idénticos, lo hace inaceptable para el servicio
<ns1:someelement>
<ns1:name>name1</ns1:name>
<ns1:value>value1</ns1:value>
</ns1:someelement>
<ns1:someelement>
<ns1:name>name1</ns1:name>
<ns1:value>value1</ns1:value>
</ns1:someelement>
se insiste en hacer sólo una copia del elemento y asignándole un ID, y el uso de href para cualquier instancia posteriores de ese elemento (que se muestra a continuación), que no está soportada por el servicio web que estoy usando (no sé por qué esto es, pero en realidad no importa porque no puedo cambiarlo)
<ns1:someelement id="#ref1">
<ns1:name>name1</ns1:name>
<ns1:value>value1</ns1:value>
</ns1:someelement>
<ns1:someelement href="#ref1" />
Así que mi La pregunta es cómo podría obligar al XML a salir con los elementos duplicados incluidos en su totalidad, en lugar de usar hrefs/ids. Revisé los documentos de PHP SoapClient para ver una opción o algo por el estilo, pero no pude encontrar nada. Cualquier ayuda o consejo sería muy apreciado. Gracias.
Ninguno de los clientes de soap de PHP es tan bueno. Es bastante trivial enrollar a mano uno, al menos para un servicio web en particular. Sinceramente, recomiendo ir por esa ruta si los paquetes preempaquetados no funcionan para usted (me he enfrentado a este problema yo mismo más de una vez, el trabajo manual funcionó bien). –