Exemplo PHP
Exemplo de PHP para uso em Aplicativos Externos ao SoftExpert Suite
API Key
Para realizar a conexão com um dos nossos Web services SOAP usando um arquivo PHP externo, é recomendado utilizar a extensão SOAP, que é nativa do PHP. Essa extensão fornece uma maneira fácil e eficiente de se conectar a serviços Web SOAP e interagir com eles diretamente do código PHP. É importante notar que a extensão SOAP é uma biblioteca padrão do PHP desde a versão 5 e não requer instalação adicional. Abaixo, segue um exemplo de como utilizar a extensão SOAP para conectar-se a um Web service SOAP:
<?php
// Server domain or server ip
$server = "my-domain.softexpert.com";
//Local WSDL File (in this sample we are using SE Administration WebService)
//$wsdl = "adm_ws.wsdl";
//URL to download a remote WSDL
$wsdl = "https://$server/se/ws/adm_ws.php?wsdl";
//endpoint to connect
$location = "https://$server/apigateway/se/ws/adm_ws.php";
//Http request context (you should set the Authorization Token). In context details you can disable ssl feature (https://www.php.net/manual/pt_BR/context.ssl.php)
$context = array(
'http' => array(
'header' => 'Authorization: userToken' //user token captured in your sesuite account details
));
$client = new SoapClient($wsdl, array(
"trace" => 1, // enable trace
"exceptions" => 1, // enable exceptions
"stream_context" => stream_context_create($context),
"location" => $location
));
//below we are using a sample method in SE Administration WebService
$return = $client->editPosition(array(
'ID' => "SamplePosition",
'DESC' => "SamplePosition"
));
É possível ignorar o protocolo SSL
neste contexto apenas alterando o valor da
variável context. Conforme exemplo abaixo:
//Http request context (you should set the Authorization Token). In context details you can disable ssl feature (https://www.php.net/manual/pt_BR/context.ssl.php)
$context = array(
'http' => array(
'header' => 'Authorization: userToken'
),
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false
)
);
Dica: É necessário ter
habilitado as extensões SOAP
e OpenSSL
dentro das configurações do PHP
(php.ini
) utilizado do seu aplicativo.
Exemplo de PHP para uso automações no SoftExpert Suite
Se for preciso conectar-se a um dos nossos Web Services usando um arquivo interno da ferramenta SoftExpert Suite (como uma aplicação externa, por exemplo), podemos simplificar o processo usando um método que desenvolvemos especificamente para esse fim. Abaixo, segue um exemplo dessa chamada, que pode ser inserida no código-fonte da respectiva aplicação externa:
//classe SoapGateway está localizada dentro de /include/dataintegration/apigateway/class.SoapGateway.inc
$soapGateway = new SoapGateway("user_token_here", "my-domain.softexpert.com");
$return = $soapGateway->call();
Segue abaixo o registro do método call()
mencionado acima para expressar os
possíveis parâmetros e sua funcionalidade.
/**
* Método que faz a chamada a um método do respectivo web service Soap do SoftExpert Suite.
* @param String $params Array contendo a estrutura de requisição
* @param String $resourcePath Caminho do web service que será chamado. Normalmente é algo como se/ws/<sigla_do_componente>_ws.php Ex.: se/ws/adm_ws.
* @param String $soapAction Método que será chamado no respectivo Web Service.
*/
public function call($params = array('ID' => "SamplePosition", 'DESC' => "SamplePosition"), $resourcePath = "se/ws/adm_ws.php", $soapAction = "editPosition")
Basic Auth
Para elaborar o arquivo de conexão em PHP, é preciso incluir o endereço do WSDL
para a conexão usando a tag location
. Veja o exemplo abaixo:
// URL do WSDL
$wsdl = "https://$server/se/ws/dc_ws.php?wsdl";
$location = "https://$server/apigateway/se/ws/conteudo.php";
// Instancia um cliente SOAP
$client = new SoapClient($wsdl,array(
"trace" => 1, // Habilita o trace
"exceptions" => 1, // Trata as exceções
"login" => $user,
"password" => $pass,
"stream_context"=>stream_context_create($context),
"location" => $location
));