Action::getWebservice()
Version 2025.1
Return ActionIntegrationWebservice -object
Version 2025.1
Return ActionIntegrationWebservice -object
Object ActionIntegrationWebservice
Get webservice response
$response = $Action->getWebservice()->getResponse();
If you create an Integration -action, you can define the use of Webservice in ActionWebservice -object:
class eAccountActionWebserviceInvoice EXTENDS eActionIntegrationWebservice {
protected $webservice = 'netvisor'; // Webservice name
protected $connection = 'production'; // Connection name. default: first connection
// 1. If webservice has resources
protected $resource = 'SalesInvoice';
// 2. If webservice request can be called directly
protected $method = '';
protected $route = '';
protected $sendType = 'single'; // single/multiple. Selected pages in same request or create individual requests
protected $test = true; // Create request but do not send it
protected $debug = true; // Render debug information
protected $log = true; // Save webservice log
protected $errorEmail = ''; // Email to send error messages to
function setData()
{
$Webservice = $this->getWebservice();
$Lasku = $this->getPage();
// 1. If webservice has resources
$Invoice = $this->getResource();
$Invoice->CustomerName = $Lasku->customer->getText();
// 2. Call request
$Request = $this->newRequest();
$Request->addParameter('customer_name', $Lasku->customer->getText());
}
function onSendStart()
{
$Lasku = $this->getPage();
$Lasku->vientipaiva = 'Today';
}
function onSuccess()
{
$Lasku = $this->getPage();
$response = $this->getResponse();
$Lasku->tila = 'Laskutettu';
$Lasku->invoice_number = $response['invoice']['invoice_number'];
}
function onSendReady()
{
$Lasku = $this->getPage();
if ( !$this->isTest() ){
$Lasku->save();
}
}
}
When Integration -action is defined to be visible in page menu, it can be run to selected pages(s). Opens a new window and executes Webservice render() -method. (Send request(s) and renders feedback).
You can run ActionWebservice request using Actions execute() -method:
$OrderPage->getAction('create_order')->execute();
Or you can run it and get feedback using tulosta() -method:
$OrderPage->getAction('create_order')->tulosta();
You can get the ActionWebservice -object for more precise use:
$Webservice = $Action->getWebservice(); // Last AccountWebservice (if executed multiple pages)
if ( $Webservice->getSuccess() ){
$data = $Webservice->getResponse();
}
if ( $Webservice->isError() ){
$messages = $Webservice->getMessages(); // All messages
$errors = $Webservice->getErrors(); // Just error messages
}
NOTE! If you need to make changes to a page after a successfull request, you should do it inside AccountWebservice->onSuccess().
| Method | return | Description |
|---|---|---|
| setTest(bool) | this | Set test. If TRUE, does not send the actual request. |
| setLog(bool) | this | Set log. If true, saves log for request. |
| setDebug(bool) | this | Set debug. If TRUE, renders additional info |
| addParameter(name,value) | this | Set request parameter |
| addParameters(array) | this | Add request parameters |
| setHeader(name,value) | this | Set request header |
| getPage(Page) | this | Set page webservice is run against |
| getPages(Pages) | this | Set pages webservice is run against |
| setErrorEmail(string) | this | Set email to send error messages to. |
| sendRequest() | bool | Return TRUE if request sent with no errors |
Hook methods
| Method | return | Description |
|---|---|---|
| init() | void | Run after ActionWebservice -object is created |
| initWebservice($webservice) | void | Modify Webservice -object after created. |
| initResource($Resource) | void | Modify WebserviceResource -object after created. |
| initRequest($Request) | void | Modify WebserviceRequest -object after created. |
| setData() | void | Set data to request object |
| onSendStart() | void | Executed before request is sent |
| onSuccess() | void | Executed after request is sent and no errrors |
| onError() | void | Executed after request is sent and was error |
| onSendReady() | void | Executed after request is sent |
Request info:
| Method | return | Description |
|---|---|---|
| isTest() | bool | Return TRUE if test is TRUE |
| isDebug() | bool | Return TRUE if debug is TRUE |
| isLog() | bool | Return TRUE if log is TRUE |
| getDebug() | bool | Get TRUE, if debug |
| getLog() | WebserviceLog | WebserviceLog -object |
| getSendType() | string | Return send type: single/multiple |
| getMethod() | string | Request HTTP method |
| getProtocol() | string | Request http protocol |
| getHost() | string | Base url |
| getRoute() | string | Request route |
| getUrl() | string | Request url |
| getParameters() | array | Request parameters |
| isParameter(name) | bool | Return true, if parameter with name is defined |
| getData() | array | Get request data |
| getHeaders() | array | Get Request parameters |
| isErrorEmail() | true | Return TRUE if error email is set. |
| getErrorEmail() | string | Get error email. |
| sendErrorEmail() | this | Send error message. (Is sent if error occured) |
| isError() | bool | Return TRUE if webservice has errors |
| getErrors() | array | Get error messages [title, type] |
| getMessages() | array | Get all messages [title, type] |
| isPage() | bool | Return TRUE webservice has Page |
| getPage() | Page | Get page webservice is run against |
| getPages() | Pages | Get all pages webservice is run against |
| getAction() | Action | Get action -object |
| getWebservice() | Webservice | Get webservice object |
| getResource([name]) | WebserviceResource | Get resource -object. Default: as defined in CLASS. If arguments: Create new custom Resource |
| isResource() | bool | Webservice has default resource |
| getRequest([method,route,params,data]) | WebserviceRequest | Get request -object. Default: as defined in CLASS. If arguments: Create new custom Request |
| getRequestObject() | WebserviceRequest | Get Request -object that makes the actual request (Resource->Request or Request) |
Request response:
| Method | return | Description |
|---|---|---|
| getResponse() | Array | Response data |
| getResult() | string | Original response content |
| isSuccess() | bool | Return TRUE if request sent with no errors |
| render() | html | Send request end render info |