I need your help
I have to use PHP functions from a web service SOAP
The request XML is as follows
<OTA_HotelDescriptiveInfoRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1">
<POS>
<Source AgentSine="user" AgentDutyCode="pass" />
</POS>
<HotelDescriptiveInfos>
<HotelDescriptiveInfo ChainCode="H4U" HotelCode="696"/>
</HotelDescriptiveInfos>
</OTA_HotelDescriptiveInfoRQ>
Here is my PHP code:
$soapClient = new SoapClient("http://otatest.apixml.com/dispatcher.asmx?WSDL");
$header = new SOAPHeader('http://xmlota.wspan.com/webservice/', 'authentication', array('username' => 'user', 'password' => 'pass'));
$soapClient->__setSoapHeaders($header);
$param['POS']['Source']['AgentSine'] = 'user';
$param['POS']['Source']['AgentDutyCode'] = 'pass';
$param['HotelDescriptiveInfos']['HotelDescriptiveInfo']['ChainCode'] = 'H4U';
$param['HotelDescriptiveInfos']['HotelDescriptiveInfo']['HotelCode'] = '696';
$response = $soapClient->sendOTAHotelDescriptiveInfo($param);
And here is the error I'm trying for several days but I can not resolve it
Fatal error: Uncaught SoapFault exception: [soap:Server] System.Web.Services.Protocols.SoapException: Server was unable to process request.
---> System.NullReferenceException: Object reference not set to an instance of an object. at H4U.Webservices.OTA.SoapDispatcher.sendOTAHotelDescriptiveInfo(OTA_HotelDescriptiveInfoRQ OTA_HotelDescriptiveInfoRQ)
--- End of inner exception stack trace ---
in /home/dimavoya/public_html/soap/soap.php:43
Stack trace:
#0 /home/dimavoya/public_html/soap/soap.php(43): SoapClient->__call('sendOTAHotelDes...', Array)
#1 /home/dimavoya/public_html/soap/soap.php(43): SoapClient->sendOTAHotelDescriptiveInfo(Object(SoapVar))
#2 {main} thrown in
I remain at your disposal for more information
Thank you in advance
Related
i use this PHP Code :
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$AccountShabaCode = "123456789012345678900000";
$WorkTitle = "Example";
$GuildCode = "48160000";
$PardakhtYarTitle = "Xxxa";
$soapclient = new SoapClient('http://87.107.134.111:8021/PardakhtYar.asmx?wsdl');
$add_new_request = $soapclient->AddNewRequest(array('AccountShabaCode' => $AccountShabaCode, 'Password' => $Password, 'WorkTitle' => $WorkTitle, 'GuildCode' => $GuildCode, 'PardakhtYarTitle' => $PardakhtYarTitle));
print_r($add_new_request);
?>
and get this error :
Fatal error: Uncaught SoapFault exception: [soap:Server] Server was unable to process request. ---> Object reference not set to an instance of an object. in C:\WAMP\home\example.tld\public_html\test.php:11
Stack trace:
#0 C:\WAMP\home\example.tld\public_html\test.php(11): SoapClient->__call('AddNewRequest', Array)
#1 {main}
thrown in C:\WAMP\home\example.tld\public_html\test.php on line 11
How can I fix this error?
i need call "AddNewRequest" ( http://87.107.134.111:8021/PardakhtYar.asmx?op=AddNewRequest )
I am working on TNT SOAP based API, I am using below code but gets only error, I can`t understand what I am doing wrong ?
ini_set("default_socket_timeout",120);
$client = new SoapClient('https://uat.tntexpress.com.au/Webservices/Conservice/ConsignmentService.svc?wsdl');
$params = array(
'payingAccount' => '20003191',
'UserName' => 'NEX-APIT',
'Password' => 'NEX_APIPWT'
);
$response = $client->__soapCall('ProcessConsignmentRequest',$params);
print_r($response);
I am getting this error :
Fatal error: Uncaught SoapFault exception: [s:Client] The creator of this fault did not specify a Reason. in D:\xampp\htdocs\tnt\soap.php:11
Stack trace:
#0 D:\xampp\htdocs\tnt\soap.php(11): SoapClient->__soapCall('ProcessConsignm...', Array)
#1 {main} thrown in D:\xampp\htdocs\tnt\soap.php on line 11
I found here the working code tnt-express
I never developed a SOAP client, and now I have to do it and am having difficulties. This are the input parameters I have to send to the method "Agregar":
<Clientes>
<Cliente>
<Rut>123456785</Rut>
<Nombre>123456785</Nombre>
</Cliente>
</Clientes>
this is the testing code for the client I have done yet:
<?php
class Socio {
function Socio($rut, $nombre)
{
$this->nombre = $nombre;
$this->rut = $rut;
}
}
$client = new SoapClient("theurl...");
$socio = new Socio(156371777, "Sebastian");
$params = array(
"Cliente" => $socio,
);
$response = $client->__soapCall("Agregar", $params);
var_dump($response);
but it is not working... I get the following error:
Fatal error: Uncaught SoapFault exception: [soap:Server] The server can't process the request. ---> The value cannot be null. Parameter name: s in /var/www/friends/awto/intouch/ccinterface.php:22 Stack trace: #0 /var/www/friends/awto/intouch/ccinterface.php(22): SoapClient->__soapCall('Agregar', Array) #1 {main} thrown in /var/www/friends/awto/intouch/ccinterface.php on line 22
I am doing the following to expose the functions of an object via soap but it gives me as error
Server:
$soap_wrapper = new my_geo_soap_wrapper();
$soap_wrapper->set_geo_app($my_geo);
$server = new SoapServer(null, array('uri' => "urn://localhost/firstmobile"));
$server->setObject($soap_wrapper);
$server->handle();
Client:
$client = new SoapClient(null, array(
'location' => "http://127.0.0.1/firstmobile/simple_server.php",
'uri' => "http://127.0.0.1/firstmobile/"
));
$result = $client->__soapCall("geolocate",array($lat,$lng));
print $result;
Error:
Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Server] Call to a
member function geolocate() on a non-object in
/home/imran/projects/firstmobile/simple_client.php:15 Stack trace: #0
/home/imran/projects/firstmobile/simple_client.php(15):
SoapClient->__soapCall('geolocate', Array) #1 {main} thrown in
/home/imran/projects/firstmobile/simple_client.php on line 15
I think the error is somewhere in the my_geo_soap_wrapper class. If I read your code, and the error, correctly, the SOAP call ($client->__soapCall("geolocate",array($lat,$lng));) is mapping to $soap_wrapper->geolocate($lat,$lng) on the SOAP server end.
Based purely on the name of the class, I wonder if this "my_geo_soap_wrapper" class is delegating to some other object, which also has a method called geolocate, and this is where the bug is? e.g.
class my_geo_soap_wrapper
{
function geolocate($lat,$lng)
{
// Will blow up if $this->delegated_object hasn't been set correctly
return $this->delegated_object->geolocate($lat,$lng);
}
}
Pure speculation, but might suggest a route to investigate.
i am trying to call a method from a wsdl and getting an error. i am new to soap and learning all i can. i know rest is better but i really want to learn soap. this is what i have so far:
ini_set('soap.wsdl_cache_enable', '0');
$client = new SoapClient('http://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?wsdl');
$data = $client->__soapCall('GetQuote', array('GetQuote' => 'aapl'));
print $data;
the error i get is
Fatal error: Uncaught SoapFault exception: [soap:Server] Server was unable to process request. ---> Object reference not set to an instance of an object. in /Volumes/www/public/soap/s.php:5 Stack trace: #0 /Volumes/www/public/soap/s.php(5): SoapClient->__soapCall('GetQuote', Array) #1 {main} thrown in /Volumes/www/public/soap/s.php on line 5
thanks
You can see all required parameters for the GetQuote request in http://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?wsdl
You should pass a StockSymbol and LicenseKey. Example of request:
ini_set('soap.wsdl_cache_enable', '0');
$client = new SoapClient('http://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?wsdl');
$data = $client->GetQuote(array('StockSymbol' => 'TEST_STR','LicenseKey' => 'TEST_STR'));
print_r($data);
Replace TEST_STR with your data