Un foro de discusión para nuestra comunidad de hispano hablante
By andrewtwo
#787677
Hola estoy haciendo una petición ajax y se me esta presentando el siguiente error:

Request URL:https://sandbox.processmaker.com/api/1. ... 5086781347
Request Method:PUT
Status Code:400 Bad Request

al pegar la url en el navegador muestra lo siguiente:
{"error":{"code":404,"message":"Not Found"}}
El id del trigger es correcto

Saludos
Last edited by andrewtwo on Wed Dec 21, 2016 11:13 pm, edited 1 time in total.
By andrewtwo
#787701
Anteriormente como estaba funciona bien no se que paso porque no he movido la ruta pero si la dejo como me indicas igual me sigue generando el mismo error, que mas podría revisar

si quito el workspace como dices al consumir el recurso genera lo siguiente :
Code: Select all
{
    "error": {
        "code": 400,
        "message": "Bad Request: You have specified an unavailable workspace."
    },
    "debug": {
        "source": "WebApplication.php:496 at setup stage",
        "stages": {
            "success": [],
            "failure": [
                "message"
            ]
        }
    }
}
osea si es necesario mantener el workspace en la ruta

yo tengo un trigger para crear parte de la ruta asi
Code: Select all
@@BaseUrl = 'https://sandbox3.processmaker.com/api/1.0/'.@@SYS_SYS; 
@@APPUID = @@APPLICATION;
en el js hago esto
Code: Select all
 var Token = PMDynaform.getAccessToken();
 var Url = $('#BaseUrl').getValue();
 var Uid = $('#APPUID').getValue();
aqui completo la ruta y hago la peticion al trigger
Code: Select all
function executeTrigger(baseUrl, aToken, app_uid, tri_uid) {
    var res = $.ajax( {
    url: baseUrl+"/cases/"+app_uid+"/execute-trigger/"+tri_uid,
    type: "PUT",
    async: false,
    beforeSend: function(xhr) {
    xhr.setRequestHeader("Authorization",'Bearer '+aToken);
    },
    data: {},
    success: function () {},
    error: function () {},
    } ).responseJSON;
    return res;
 }

puede ser algun error de permisos o acceso, algunas url me entregan esto ??? dice que acceso no autorizado
{"error":{"code":401,"message":"Unauthorized"}}
Gracias
User avatar
By amosbatto
#787719
No he entendido que "promo" fue el nombre de tu workspace. Sí, lo necesitas en la URL.

Creo que tu problem es tu access token no es valido o ya ha expirado. ¿Donde esta tu codigo para conseguir aToken?
By andrewtwo
#787735
hola amosbatto , pues el workspace lo quite y sigue fallando pero antes me trabaja bien con el workspace que se llama promosumma solo que lo abrevie el token lo obtengo por javascript así Token = PMDynaform.getAccessToken();

El problema es ejecutando el trigger atraves de la api porque adjunte otra funcion que se ejecuta desde la api y funciona bien en la primera linea se ve que carga bien revisar adjunto pero con el execute-trigger desde api falla en algo

Este es el log que me muestra el navegador cuando hago la petición
fuera del 400 (Bad Request) me muestra este otro Uncaught TypeError: Cannot read property 'replace' of undefined(…) en el PMDynaform.js cuando reviso esa linea me muestra value = value.replace(/-/g, "/"); que es justo donde esta el eror
Code: Select all
XHR finished loading: GET "https://sandbox3.processmaker.com/api/1.0/promosumma/cases/244597064581a409e8d0dd4002320249/variables".
XHR finished loading: PUT "https://sandbox3.processmaker.com/api/1.0/promosumma/cases/244597064581a409e8d0dd4002320249/variable".
PUT https://sandbox3.processmaker.com/api/1.0/promosumma/cases/244597064581a409e8d0dd4002320249/execute-trigger/708402504582388a67462e5086781347 400 (Bad Request)
XHR finished loading: PUT "https://sandbox3.processmaker.com/api/1.0/promosumma/cases/244597064581a409e8d0dd4002320249/execute-trigger/708402504582388a67462e5086781347".
Uncaught TypeError: Cannot read property 'replace' of undefined(…)
XHR finished loading: POST "https://sandbox3.processmaker.com/syspromosumma/en/neoclassic/cases/casesMenuLoader?action=getAllCountersEnterprise&r=0.8318307231942812".

Saludos
Attachments
Captura.JPG
Captura.JPG (121.67 KiB) Viewed 7852 times
User avatar
By amosbatto
#787747
¿Qué pasa si solo ejecutas execute-trigger, sin ejecutar los otros REST? He visto problemas tratando de ejecutar muchos REST a la vez. ¿Estas seguro que el trigger funciona sin errores y no depende de variables del sistema que no son definidas? Tal vez control.executeQuery() te sirve en lugar del trigger si el proposito del trigger es hacer queries en una base de datos.
By andrewtwo
#787768
hola pero control.executeQuery() revise y es para ejecutar un sql en un control del formulario y yo lo estoy ejecutando en el trigger, el sql es muy sencillo solo es una consulta a una tabla, los otros rest hacen parte del proceso para poder ver los datos que traigo del trigger y asignarlos a las variables del formulario si los quito no me trae datos al formulario que estoy llamando por ajax


Saludos
By andrewtwo
#787882
si lo voy a hacer como dices porque parece que solo afecta cuando se hace la peticción al trigger los demás se ejecutan correctamente
y aunque trae datos son de cache porque no trae nada actualizado de la base de datos si hago un cambio.

saludos
#788061
Hola resulta que ese error es como normal en processmaker el bad request porque el problema por el cual no me cargaban las variables no era por eso era por la forma como recogía los datos, anteriormente lo hacia así:

@@varform = $varAbordajeCodeudor[1]['var'];

pero lo cambie a

$aData['varform'] = $sql[1]['var'];
PMFSendVariables(@@APPLICATION, $aData);

y con esto me funciono correctamente

Saludos
What's SAP FICO?

Trustworthy and skill-building, each of these actu[…]

To convert MBOX to PST, start by downloading and i[…]

My Assignment Services stands out as one of the be[…]

Erectile Dysfunction, commonly known as impotence,[…]