У меня есть некоторые проблемы при попытке выполнить запрос мыла к api salesforce из кода php, развернутого на сервере apache 2.4 (Centos 7).
Мой запрос мыла отлично работает на localhost, работающем с phpвстроенный сервер (php -S 0.0.0.0:8080).Он также отлично работает, когда я запускаю встроенный php-сервер на своем удаленном хосте Centos (php -S 0.0.0.0:8080 -c path-to-my-ini / php.ini).Но не работает на Apache.Проблема в том, что я не получаю никакого сообщения об ошибке, он просто возвращает ноль со статусом 200, поэтому у меня нет возможности глубоко отладить.
Вот мой конфиг клиента Soap:
public function getClient(){
ini_set('soap.wsdl_cache_enabled',0);
ini_set('soap.wsdl_cache_ttl',0);
$wsdl = PUBLIC_PATH.'/wsdl-metadata.xml'; // le fichier wsdl
// creation de l'objet SOAP avec proxy et trace à TRUE
$service = new SoapClient($wsdl, array( 'proxy_host' => "xxx.proxy.xxx.fr",
'proxy_port' => 3130,
'trace' => 1) );
return $service;
}
А вот моя функция контроллера, которая выполняет запрос мыла:
public function editMock( Request $request, Response $response, $arg){
$token = base64_decode($request->getQueryParams()['token']);
$explodeToken = explode ('!', $token);
$sandboxUrl = $this->getSandboxUrl($arg['sandbox']);
$serviceName = $_POST['service'];
$valueUseMock = $_POST['isMock'];
$soapService = new SoapService($token);
$client = $soapService->getClient();
$soapService->updateServiceMock($serviceName, $valueUseMock);
$xmlReq = $soapService->getXml();
//url
$location = "https://".$sandboxUrl."/services/Soap/m/44.0/" . $explodeToken[0];
// appel soap avec la requete créée
return $client->__doRequest($xmlReq, $location, null, 44, 0);
}
Обратите внимание, что я уже активировал мыло в своем php_ini
; SOAP - Extension permettant les echanges clients/serveurs SOAP.
extension = soap.so
Я что-то не так делаю?