HTTP Basi Authentication la puoi configurare direttamente in Apache, e quindi avresti uno script php che semplicemente stampa a video un xml (quindi imposti i giusti header e stampi il file_get_contents che ti serve). Per ricevere i dati, li leggeresti in $_POST

Altri tipi di autenticazione richiedono che tu legga negli Headers della richiesta ( api-key, header authentication, o altro ) e il resto è come sopra

Soap aggiunge molta più complessità (come puoi vedere dal link che ti hanno mandato) e soprattutto l'autenticazione si fa diversamente (wsse, ovvero nel messaggio soap viene aggiunto uno specifico header )

Rest è più snello, ma devi sempre processare la richiesta che ti arriva (i metodi della richiesta) e rispondi in JSOn di solito, quoindi lo escluderei dal discorso

fai te