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;

Dear amosbatto and team i tried to fix this issue[…]

Hi Amos, as regards the line breaks, this always […]

routeCase SOAP API error

It is working now and we are able to route a case.[…]

Hello, since the update to Version 3.2.3 I have t[…]