* Copyright (C) 2012 Florian Henry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /** * \file htdocs/webservices/demo_wsclient_thirdparty.php * \brief Demo page to make a client call to Dolibarr WebServices "server_other" */ // This is to make Dolibarr working with Plesk set_include_path($_SERVER['DOCUMENT_ROOT'].'/htdocs'); require_once '../master.inc.php'; require_once NUSOAP_PATH.'/nusoap.php'; // Include SOAP $WS_DOL_URL = DOL_MAIN_URL_ROOT.'/webservices/server_thirdparty.php'; //$WS_DOL_URL = 'http://localhost:8080/'; // If not a page, should end with / $WS_METHOD_GETTHIRDSPARTY = 'getThirdParty'; $WS_METHOD_CREATETHIRDSPARTY = 'createThirdParty'; $WS_METHOD_UPDATETHIRDSPARTY = 'updateThirdParty'; $WS_METHOD_GETTHIRDSPARTYLIST = 'getListOfThirdParties'; $ns='http://www.dolibarr.org/ns/'; //Chosse action to do //$action='get'; //$action='create'; //$action='update'; $action='getList'; // Set the WebService URL dol_syslog("Create nusoap_client for URL=".$WS_DOL_URL); $soapclient = new nusoap_client($WS_DOL_URL); if ($soapclient) { $soapclient->soap_defencoding='UTF-8'; $soapclient->decodeUTF8(false); } // Call the WebService method and store its result in $result. $authentication=array( 'dolibarrkey'=>$conf->global->WEBSERVICES_KEY, 'sourceapplication'=>'DEMO', 'login'=>'admin', 'password'=>'changeme', 'entity'=>''); // Test URL if ($action=='get') { $parameters = array('authentication'=>$authentication,'id'=>1,'name'=>'','ref_ext'=>''); dol_syslog("Call method ".$WS_METHOD_GETTHIRDSPARTY); $result = $soapclient->call($WS_METHOD_GETTHIRDSPARTY,$parameters,$ns,''); if (! $result) { print $soapclient->error_str; print "
\n\n"; print $soapclient->request; print "
\n\n"; print $soapclient->response; exit; } } // Test URL if ($action=='getList') { $filterthirdparty=array('category'=>'3'); $parameters = array('authentication'=>$authentication,$filterthirdparty); dol_syslog("Call method ".$WS_METHOD_GETTHIRDSPARTYLIST); $result = $soapclient->call($WS_METHOD_GETTHIRDSPARTYLIST,$parameters,$ns,''); if (! $result) { print $soapclient->error_str; print "
\n\n"; print $soapclient->request; print "
\n\n"; print $soapclient->response; exit; } } // Test URL if ($action=='create') { $newthirdparty=array( 'ref'=>'Test WS Create Client', 'ref_ext'=>'WS0001', 'fk_user_author'=>'1', 'status'=>'1', 'client'=>'1', 'supplier'=>'0', 'address'=>'Adresse customer', 'zip'=>'75000', 'town'=>'Paris', 'country_id'=>'1',//France 'customer_code'=>'-1',//Generate code regarding module configuration 'supplier_code'=>'0', 'phone'=>'0141414141', 'fax'=>'0121212121', 'email'=>'webtest1@test.fr', 'url'=>' www.test.fr', 'profid1'=>'1111111', 'profid2'=>'222222', 'profid3'=>'333333', 'profid4'=>'44444', 'profid5'=>'55555', 'profid6'=>'66666', 'capital'=>'3000', 'vat_used'=>'0', 'vat_number'=>'' //,'options_attr1'=>'Attr1 balbal', //Extra field exemple where field code is attr1 //'options_attr2'=>'Attr2 balbal' //Extra field exemple where field code is attr2 ); $parameters = array('authentication'=>$authentication,'thirdparty'=>$newthirdparty); dol_syslog("Call method ".$WS_METHOD_CREATETHIRDSPARTY); $result = $soapclient->call($WS_METHOD_CREATETHIRDSPARTY,$parameters,$ns,''); if (! $result) { print $soapclient->error_str; print "
\n\n"; print $soapclient->request; print "
\n\n"; print $soapclient->response; exit; } } // Test URL if ($action=='update') { $thirdparty=array( 'id'=>'1', 'ref'=>'Test WS Create Client', 'ref_ext'=>'WS0001', 'fk_user_mod'=>'1', 'status'=>'1', 'client'=>'1', 'supplier'=>'0', 'address'=>'Adresse customer', 'zip'=>'75000', 'town'=>'Paris', 'country_id'=>'1',//France 'customer_code'=>'-1',//Generate code regarding module configuration 'supplier_code'=>'0', 'phone'=>'0141414141', 'fax'=>'0121212121', 'email'=>'webtest1@test.fr', 'url'=>' www.test.fr', 'profid1'=>'1111111', 'profid2'=>'222222', 'profid3'=>'333333', 'profid4'=>'44444', 'profid5'=>'55555', 'profid6'=>'66666', 'capital'=>'3000', 'vat_used'=>'0', 'vat_number'=>'' //,'options_attr1'=>'Attr1 balbal', //Extra field exemple where field code is attr1 //'options_attr2'=>'Attr2 balbal' //Extra field exemple where field code is attr2 ); $parameters = array('authentication'=>$authentication,'thirdparty'=>$thirdparty); dol_syslog("Call method ".$WS_METHOD_UPDATETHIRDSPARTY); $result = $soapclient->call($WS_METHOD_UPDATETHIRDSPARTY,$parameters,$ns,''); if (! $result) { print $soapclient->error_str; print "
\n\n"; print $soapclient->request; print "
\n\n"; print $soapclient->response; exit; } } /* * View */ header("Content-type: text/html; charset=utf8"); print ''."\n"; echo ''."\n"; echo ''; echo 'WebService Test: '.$WS_METHOD.''; echo ''."\n"; echo ''."\n"; echo 'NUSOAP_PATH='.NUSOAP_PATH.'
'; echo "

Request:

"; echo '

Function

'; echo $WS_METHOD; echo '

SOAP Message

'; echo '
' . htmlspecialchars($soapclient->request, ENT_QUOTES) . '
'; echo '
'; echo "

Response:

"; echo '

Result

'; echo '
';
print_r($result);
echo '
'; echo '

SOAP Message

'; echo '
' . htmlspecialchars($soapclient->response, ENT_QUOTES) . '
'; echo ''."\n"; echo ''."\n"; ?>