Отправка предложений о работе не работает; что я сделал не так? - PullRequest
0 голосов
/ 03 марта 2020

Я использую 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...