Appel de services Web RESTful depuis JMP<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Existe-t-il un moyen d'invoquer un service Web reposant à partir de JMP ? Si oui, y a-t-il des exemples de code qui peuvent être partagés ?Services Web RESTful à partir de JMP
Re : Appel des services Web RESTful à partir de JMPRappel pour mon futur moi... de ces fonctionnalités disponibles dans JMP 13
La préférence Internet Open Timeout de la page des préférences générales s'applique à l'ouverture de pages Web avec la fonction Internet Open. JMP attend le nombre de secondes spécifié avant d'arrêter l'importation en raison d'une erreur. 60 secondes est la valeur par défaut.
et la nouvelle fonction de requête http à venir dans JMP 14.
Re : Appel des services Web RESTful à partir de JMPNous cherchions récemment à appeler certaines API REST (comme frapper un cluster Hadoop et exécuter une tâche personnalisée dans pig ou spark) à partir de JMP/JSL... et avons fini par utiliser la fonction Open avec une URL personnalisée générée à partir des entrées de l'utilisateur. Ceci est similaire à ce qui peut être fait manuellement en utilisant File -> Internet Open avec le "Open As" défini sur Data (comme indiqué par de nombreuses discussions). Notre API REST renvoie du texte au format CSV/TSV facilement importé par JMP.
Nous avons rencontré des problèmes avec les délais d'attente en raison de l'API WinINet (voir https://msdn.microsoft.com/en-us/library/windows/desktop/aa384066(v=vs.85).aspx où WINHTTP_OPTION_RECEIVE_TIMEOUT a une valeur par défaut de 30 secondes), et obtiendrait une erreur avec "L'opération a expiré". Nous avons fini par ajouter le code ci-dessous à notre script JSL pour ajouter un élément de registre pour prolonger/remplacer le délai d'attente par défaut (suite au correctif mentionné à https://support.microsoft.com/en-us/kb/181050 ).
RP = ExécuterProgram(
Exécutable( "reg" ),
Option(
{"ajouter",
"\!"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Paramètres Internet\!" /v \!"ReceiveTimeout\!" /t REG_DWORD /d \!"0x493E0\!" /F"
}
),
FonctionLire( "texte" )
);