Como comunicar/enviar un xml a una dirección web/puerto
$url = 'https://api.emplo.com/usuarios/add_NWS';
$data = file_get_contents('request.xml');
$tuCurl = curl_init();
curl_setopt($tuCurl, CURLOPT_URL,$url);
curl_setopt($tuCurl, CURLOPT_PORT , 443);
curl_setopt($tuCurl, CURLOPT_VERBOSE, 0);
curl_setopt($tuCurl, CURLOPT_HEADER, 0);
curl_setopt($tuCurl, CURLOPT_SSLVERSION, 3);
curl_setopt($tuCurl, CURLOPT_POST, 1);
curl_setopt($tuCurl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($tuCurl, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($tuCurl, CURLOPT_POSTFIELDS, $data);
curl_setopt($tuCurl, CURLOPT_HTTPHEADER, array("Content-Type: text/xml", "Content-length: ".strlen($data)));
$tuData = curl_exec($tuCurl);
if(!curl_errno($tuCurl)){
$info = curl_getinfo($tuCurl);
echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
} else {
echo 'Curl error: ' . curl_error($tuCurl);
}
curl_close($tuCurl);
echo $tuData;
Y el xml
<?xml version='1.0' encoding='UTF-8'?> <ATR_COM_UsersRQ xsi:schemaLocation="http://www.atrapalo.com/common ATR_COM_TratoInputRQ.xsd" PrimaryLangID="es-ES" xmls="http://www.atrapalo.com/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <POS> <Source ISOCurrency="EUR" PseudoCityCode="2U8" ISOCountry="ES" AgentSine="BSIA1234PM"> <RequestorID MessagePassword="4trar0ute" ID="50000011" Type="5"/> </Source> </POS> <UserInformation> <Email><![CDATA[test1.atrapalo_222@yopmail.com]]></Email> <Nombre><![CDATA[nombre]]></Nombre> <Apellidos><![CDATA[apellidos]]></Apellidos> <AnnoNacimiento><![CDATA[23]]></AnnoNacimiento> <Cp>08100</Cp> <IdOrigen>2001</IdOrigen> </UserInformation> </ATR_COM_UsersRQ>

