Английский - не мой родной язык, так что будьте терпеливы.Изменить EndPoint на NuSoap Клиент
Мне нужно сообщить о состоянии некоторых почтовых рассылок другой компании через WebService. Я использую PHP + NuSOAP, я новичок в PHP и эта библиотека поможет мне сохранить его простым, мой код выглядит следующим образом:
require_once '../nusoap/lib/nusoap.php';
Class Cliente{
var $server;
public function __construct(){
$this->server = 'https://the-other-company.com/services/PksiryacwebMgrTarjetasSubsi?wsdl';
}
function client_process($data){
$cliente = new nusoap_client($this->server,'wsdl','','','','');
$err = $cliente->getError();
if ($err) { echo 'Error en Constructor' . $err ; }
$response = $cliente->call('prwebActualizaCorresponden',$data,'','', false,true); //OK
return $response;
}
}
Где $data
массив строк и WebService сервер suposed для возврата ответа (всегда), но вместо этого ничего не отвечает.
Когда я позвонил администратору WebService, он сказал мне, что тестируйте его с помощью SoapUI, тогда я нахожу, что проблема связана с WSDL, потому что он указывает на частный IP-адрес (172.20.8.152), доступ к которому можно получить только изнутри другая компания LAN, вместо этого IP мне сказали работать (the-other-company.com).
<wsdl:service name="PksiryacwebMgr_Tarjetas_SubsiService">
<wsdl:port binding="impl:PksiryacwebMgr_Tarjetas_SubsiSoapBinding" name="PksiryacwebMgr_Tarjetas_Subsi">
<wsdlsoap:address location="http://172.20.8.152/services/PksiryacwebMgrTarjetasSubsi"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
В SoapUI эта проблема легко решить установить другой ENDPOINT с правой IP, но как это сделать в NuSOAP?
Редактировать: Обходным путем было бы сделать мой собственный wsdl/xml, но это не идея.
Заранее спасибо.