Sto lavorando su un client SOAP in PHP e le chiamate passano attraverso l'ammenda del servizio, ad eccezione delle chiamate in cui ci sono elementi identici a vicenda. Sembra che quando questo accade, piuttosto che creare due elementi separati ma identici, come questo:PHP SoapClient crea riferimenti XML per elementi identici, lo rende inaccettabile per il servizio
<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>
essa insiste sul fare una sola copia dell'elemento e assegnando un ID, e utilizzando href per eventuali successive istanze di tale elemento (vedi sotto), che non è supportata dal webservice sto usando (non so perché questo è, ma non ha molta importanza, perché non posso cambiarlo)
<ns1:someelement id="#ref1">
<ns1:name>name1</ns1:name>
<ns1:value>value1</ns1:value>
</ns1:someelement>
<ns1:someelement href="#ref1" />
Quindi il mio la domanda è come potrei forzare l'XML a uscire con gli elementi duplicati inclusi in pieno, piuttosto che usando hrefs/ids. Ho controllato i documenti per PHP SoapClient per un'opzione o qualcosa del genere, ma non ho trovato nulla. Qualsiasi aiuto o consiglio sarebbe molto apprezzato. Grazie.
Nessuno dei client PHP di soap è così eccezionale. È abbastanza banale distribuirne uno, almeno per un particolare servizio web. Sinceramente raccomanderei di seguire questa strada se quelli preconfezionati non funzionano per te (mi sono trovato di fronte a questo problema più di una volta, il handrolling ha funzionato bene). –