diff --git a/webservices/webservices.basic.php b/webservices/webservices.basic.php index 9749773f8..dd6a2eb73 100644 --- a/webservices/webservices.basic.php +++ b/webservices/webservices.basic.php @@ -107,11 +107,12 @@ class BasicServices extends WebServicesBase } UserRights::Login($sLogin); + if (!class_exists('Incident')) { $oRes = new WebServiceResult(); $oRes->LogError("The class Incident does not exist. Did you install the Incident Management (ITIL) module ?"); - return $oRes; + return $oRes->ToSoapStructure(); } $aCallerDesc = self::SoapStructToExternalKeySearch($oCallerDesc); diff --git a/webservices/webservices.class.inc.php b/webservices/webservices.class.inc.php index cf6e6533e..a72b792da 100644 --- a/webservices/webservices.class.inc.php +++ b/webservices/webservices.class.inc.php @@ -134,10 +134,11 @@ class WebServiceResult */ public function AddResultObject($sLabel, $oObject) { + $oAppContext = new ApplicationContext(); $this->m_aResult[$sLabel] = array( 'id' => $oObject->GetKey(), 'name' => $oObject->GetRawName(), - 'url' => $oObject->GetHyperlink(), + 'url' => $oAppContext->MakeObjectUrl(get_class($oObject), $oObject->GetKey(), null, false), // Raw URL without HTML tags ); } @@ -297,7 +298,7 @@ abstract class WebServicesBase if (is_object($oAttDef)) { $iMaxSize = $oAttDef->GetMaxSize(); - if ($iMaxSize) + if ($iMaxSize && (strlen($sValue) > $iMaxSize)) { $sValue = substr($sValue, 0, $iMaxSize); }