Below are sample codes using PHP with NuSoap Library and Perl with SOAP:Lite. But before using PHP’s NuSOAP or Perl’s SOAP:Lite you need to download them, extract them and include “lib/nusoap.php” in your PHP code or install SOAP:Lite on your Perl library.
PHP's NuSOAP 1
<?php
require_once('lib/nusoap.php');
//Define RPX WSDL
$wsdl="http://api.rpxholding.com/wsdl/rpxwsdl.php?wsdl";
$client =new nusoap_client($wsdl,true);
$username = "UrRPXapi";
$password = "UrP4ssW0rd";
$err = $client->getError();
if ($err) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}
// Calling RPX API method with parameters.
// Use your user & password provided after registering at http://api.rpxholding.com
$result = $client->call('getOrigin', array('user' => $username, 'password' => $password));
if ($client->fault) {
echo '<h2>Fault</h2><pre>';
print_r($result);
echo '</pre>';
} else {
// Check for errors
$err = $client->getError();
if ($err) {
// Display the error
echo '<h2>Error</h2><pre>' . $err . '</pre>';
} else {
// Display the result
print_r($result);
}
}
?>
PHP's NuSOAP 2
<?php
require_once('lib/nusoap.php');
//Define RPX WSDL
$wsdl="http://api.rpxholding.com/wsdl/rpxwsdl.php?wsdl";
$client =new nusoap_client($wsdl,true);
$username = "UrRPXapi";
$password = "UrP4ssW0rd";
$origin = "JAK";
$dest = "BDO";
$weight = 2;
$disc = 0;
$format= "JSON";
$err = $client->getError();
if ($err) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}
// Calling RPX API method with parameters.
// Use your user & password provided after registering at http://api.rpxholding.com
$result = $client->call('getRates', array('user' => $username, 'password' => $password, 'origin' => $origin, 'destination' => $dest, 'weight' => $weight, 'disc' => $disc, 'format' => $format));
if ($client->fault) {
echo '<h2>Fault</h2><pre>';
print_r($result);
echo '</pre>';
} else {
// Check for errors
$err = $client->getError();
if ($err) {
// Display the error
echo '<h2>Error</h2><pre>' . $err . '</pre>';
} else {
// Display the result
print_r($result);
}
}
?>
PHP's SoapClient
<?php
$wsdl="http://api.rpxholding.com/wsdl/rpxwsdl.php?wsdl";
$client = new SoapClient($wsdl);
$username = "UrRPXapi";
$password = "UrP4ssW0rd";
echo "<pre>";
try {
$result = $client->getprovince($username,$password);
echo "<br/>";
var_dump($result);
}
catch ( Exception $e ) {
echo $e->getMessage();
}
?>
Perl's SOAP:Lite
#!"C:\xampp\perl\bin\perl.exe"
print "Content-type:text/html\r\n\r\n";
my %service_url = 'http://api.rpxholding.com/wsdl/rpxwsdl.php?wsdl';
use SOAP::Lite;
my $soap = SOAP::Lite->new( proxy => %service_url);
$soap->default_ns('urn:rpxwsdl');
##############################################################################################
# ALL INPUT PARAMETERS SHOULD BE ADDED (EVEN IF PARAMETER IS OPTIONAL OR VALUE IS NULL/ZERO) #
##############################################################################################
my $som = $soap->call('getRates',
SOAP::Data->name('user')->value('UrRPXapi'),
SOAP::Data->name('password')->value('UrP4ssW0rd'),
SOAP::Data->name('origin')->value('JAK'),
SOAP::Data->name('destination')->value('BDO'),
SOAP::Data->name('service_type')->value(''),
SOAP::Data->name('weight')->value('1'),
SOAP::Data->name('disc')->value('0')
);
die $som->faultstring if ($som->fault);
print $som->result, "\n";
Android's (Java) ksoap2-android
/** Initiate Variables. */
private String METHOD_NAME = "getRates"; //find another method on List of Methods Page
private String NAMESPACE = "urn:rpxwsdl";
private String SOAP_ACTION = NAMESPACE + "#" + METHOD_NAME;
private String URL = "http://api.rpxholding.com/wsdl/rpxwsdl.php";
/** For Example, create this Function */
public String getRPXRates() {
SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
/** #########################################################################################
# ALL INPUT PARAMETERS SHOULD BE ADDED (EVEN IF PARAMETER IS OPTIONAL OR VALUE IS NULL/ZERO) #
############################################################################################## */
Request.addProperty("user","UrRPXapi");
Request.addProperty("password","UrP4ssW0rd");
Request.addProperty("origin","JAK");
Request.addProperty("destination","BDO");
Request.addProperty("service_type","");
Request.addProperty("weight","1");
Request.addProperty("disc","0");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.encodingStyle = SoapEnvelope.XSD;
envelope.dotNet = false;
envelope.setOutputSoapObject(Request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try
{
androidHttpTransport.debug = false;
androidHttpTransport.call(SOAP_ACTION, envelope);
Object response = (Object) envelope.getResponse();
String result = response.toString();
return result;
}
catch(Exception e)
{
return "Error";
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String XMLRates = getRPXRates();
}
<< Previous: Getting Started – Next: List of Methods for Public Customers >>