Un foro de discusión para nuestra comunidad de hispano hablante

Moderator: amosbatto

User avatar
By milagrosmaria16
#816033
Buenas tardes,
Quisiera saber como obtener los errores internos cuando ejecuto código php en el trigger de una actividad del ProcessMaker.
Quedo a la espera de sus comentarios.
De antemano, muchas gracias!!!!!
By amosbatto
#816036
Puedes setear:
Code: Select all
debug = 1
En tu archivo env.ini para visualizar errores de ProcessMaker.

Tambien, puedes activar Debug Mode, para ver los mensajes en la variable __ERROR__ en el debugger.
User avatar
By milagrosmaria16
#816052
Buen día,
Gracias por tu respuesta, pero no me está pintando el error tampoco, solo al cerrar la sesión me muestra lo siguiente => ERROR: Fatal error in trigger.

Y el trigger que estoy usando es el siguiente:
Code: Select all
$CaseID=12; //Número de ticket
$data=array(
         "custom_fields" => array(
         array (
           "field" => "PM_Case_Status",
           "value" => "TO_DO"
                )
         )
 );

$data = json_encode($data);//Create JSON string from data ARRAY
 );
$proxy = "172.19.44.XXXXX";
$token = "A7KXXXXXXXX";
$authorization = "Authorization: Bearer ".$token;
$url = "https://XXXX/Api/V1/tickets/".$CaseID;

$ch = curl_init($url); //LLAMANDO A LA URL
curl_setopt($ch, CURLOPT_PROXY, $proxy);
header('Content-Type: application/json');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
//curl_setopt($ch, CURLOPT_POST, true); //ENVIANDO POR VIA POST
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //ACTIVAR LA RESPUESTA
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //ENVIANDO EL JSON
$response_json = curl_exec($ch); //RESPUESTA DEL SERVICIO REST
curl_close($ch); //CERRAR CONEXION CON WS
@@txtTicketWC1 = "La respuesta es ".$response_json;
Espero me puedas apoyar por favor!!!

Muchísimas gracias.
By amosbatto
#816058
Tienes un ")" extra despues de $data:
Debe ser:
Code: Select all
$CaseID=12; //Número de ticket
$data=array(
   "custom_fields" => array(
       array (
           "field" => "PM_Case_Status",
           "value" => "TO_DO"
       )
    )
);

$data = json_encode($data);//Create JSON string from data ARRAY
 
$proxy = "172.19.44.XXXXX";
$token = "A7KXXXXXXXX";
$authorization = "Authorization: Bearer ".$token;
$url = "https://XXXX/Api/V1/tickets/".$CaseID;

$ch = curl_init($url); //LLAMANDO A LA URL
curl_setopt($ch, CURLOPT_PROXY, $proxy);
header('Content-Type: application/json');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
//curl_setopt($ch, CURLOPT_POST, true); //ENVIANDO POR VIA POST
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //ACTIVAR LA RESPUESTA
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //ENVIANDO EL JSON
$response_json = curl_exec($ch); //RESPUESTA DEL SERVICIO REST
curl_close($ch); //CERRAR CONEXION CON WS
@@txtTicketWC1 = "La respuesta es ".$response_json;
User avatar
By milagrosmaria16
#816099
Muchas gracias por tu apoyo,
Hice el cambio pero sigue sin mostrarse la información, me aparece lo siguiente:
Image

Y cuando activo DEBUG me muestra la siguiente info:
Code: Select all
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link rel="shortcut icon" href="/images/favicon.ico"   type="image/x-icon"/>
  <TITLE></TITLE>


		<!--//////////////////////////////////********//////////////////////////////////-->



        <script type="text/javascript">

        var BROWSER_CACHE_FILES_UID = "";

        </script>

        <script type="text/javascript" src="/js/maborak/core/maborak.js"></script>
<script type="text/javascript" src="/jscore/labels/en.js"></script>
<script type="text/javascript" src="/js/widgets/js-calendar/unicode-letter.js"></script>
<script type="text/javascript" src="/js/ext/translation.en.js"></script>
<script type='text/javascript'>
  var leimnud = new maborak();

  leimnud.make({

    zip:true,

    inGulliver:true,

    modules :"dom,abbr,rpc,drag,drop,app,panel,fx,grid,xmlform,validator,dashboard",

    files :""

  });

  try{

    leimnud.exec(leimnud.fix.memoryLeak);

    if(leimnud.browser.isIphone){

      leimnud.iphone.make();

    }

  }catch(e){} var __usernameLogged__ = "jsalazar";var SYS_LANG = "en";</script>
<script type="text/javascript" src="/js/maborak/core/maborak.loader.js"></script>
  <link rel='stylesheet' type='text/css' href='/css/neoclassic-blank.css' />

 
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#000000" vlink="#000000" alink="#999999" marginheight="0" marginwidth="0" leftmargin="0" topmargin="0" rightmargin="0">
<table width="100%" cellspacing="0" cellpadding="0" height="100%">
	
	<tr>
		<td width="100%" valign="top">
		
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="padding-top: 3px">
<tr>
<td align="center">
<div style="position:relative;width:100%;height:100%;padding:0px;" id="cases_target"></div>
</td>
</tr>
<tr>
<td align="center">
<DIV id="publisherContent[1]" style="; margin:0px;" align="center"><script>
if ( typeof parent != 'undefined' && typeof parent.parent != 'undefined') {
  if ( typeof parent.parent.Ext != 'undefined') {
    var debugPanel = parent.parent.Ext.getCmp('debugPanel');

    debugPanel.show();
    debugPanel.ownerCt.doLayout();
    debugPanel.expand();

    parent.parent.propStore.load();
    parent.parent.triggerStore.load();
  }
}
</script></DIV></td>
</tr>
<tr>
<td align="center">
<DIV id="publisherContent[2]" style="; margin:0px;" align="center">    <div class="ui-widget-header ui-corner-all" width="100%" align="center">
    Processmaker - Debugger (Break Point)&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="button" value="Continue" class="module_app_button___gray"
    onclick="javascript:location.href='casesListExtJsRedirector?ux=NORMAL'">
    </div>
    </DIV></td>
</tr>
</table>
		</td>
	</tr>
</table>
</body>
</html>
Espero me puedas seguir apoyado por favor!
De antemano, muchísimas gracias.
By amosbatto
#816114
El codigo de tu Dynaform no ayuda. Debes usar Debug Mode en ProcessMaker, para ver los variables de tu trigger.

Debes usar este PHP para chequear tu estatus de HTTP que debe ser 200 o 201:
Code: Select all
$response_json = curl_exec($ch); //RESPUESTA DEL SERVICIO REST
@@http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch); //CERRAR CONEXION CON WS
@@txtTicketWC1 = "La respuesta es ".$response_json;
User avatar
By milagrosmaria16
#816903
Muchísimas gracias,

Tenia un problema de ssl, se corrigió agregando lo siguiente en el trigger: curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

【Q/微信729926040】如以删除请点网页快照,专业办理德国/法国/英国/加拿大各大学高端精仿文[…]

【Q/微信729926040】如以删除请点网页快照,专业办理德国/法国/英国/加拿大各大学高端精仿文[…]

【Q/微信729926040】如以删除请点网页快照,专业办理德国/法国/英国/加拿大各大学高端精仿文[…]

【Q/微信729926040】如以删除请点网页快照,专业办理德国/法国/英国/加拿大各大学高端精仿文[…]