Я использую SoapClient PHP для получения и отправки предложений о работе. Часть получения иногда работает, но функция отправки предложений о работе не работает, и я не получаю никаких ошибок. Что я сделал не так? Вот мои уроки:
class MySoapBewerben
{
private $_user;
private $_pass;
private $_client;
public function __construct($user = null, $pass = null)
{
if ($user) $this->_user = $user;
if ($pass) $this->_pass = $pass;
try {
$client = new SoapClient('JobService.wsdl');
$client->__setSoapHeaders(new SoapHeader('http://schemas.xmlsoap.org/ws/2002/04/secext', "AuthHeader", new MySoapAuthHeaderBewerben($this->_user, $this->_pass), false));
$this->_client = $client;
} catch (SoapFault $fault) {
echo json_encode($fault);
} catch (Exception $e) {
echo json_encode($e);
}
}
public function getClient()
{
return $this->_client;
}
}
class MySoapAuthHeaderBewerben
{
public $Username;
public $Password;
public $Version;
public function __construct($user, $pass, $version = '1.0')
{
$this->Username = $user;
$this->Password = $pass;
$this->Version = $version;
}
}
И окончательный код:
$user = "user";
$pass = "pass";
if (file_exists('Bewerber.xml')) {
$xmldata = simplexml_load_file('Bewerber.xml');
$form_files = json_decode($_POST['form-files']);
$dokumente = $xmldata->dokumente;
foreach ($form_files as $form_file) {
$filename = date('Y-m-d_H-i-s') . '_' . $form_file[1];
file_put_contents($_POST['upload_basedir'] . '/plugin-uploads/' . $filename, file_get_contents($form_file[0]));
$dokument = $xmldata->dokumente->addChild('dokument', '');
$dokument->addAttribute('url', $_POST['upload_baseurl'] . '/plugin-uploads/' . $filename);
$dokument->addAttribute('name', $form_file[1]);
}
$mySoap = new MySoapBewerben($user, $pass);
$response = $mySoap->getClient()->setApplicationsLCS(1, $xmldata->asXML());
if ($response->Code == '0') {
echo $response->Data;
} else {
echo $response->Message;
}
};
Я использую этот код внутри xmlhttprequest
.