Uitlisation de web service simplicite

4.0
Uitlisation de web service simplicite
0
Tags: #<Tag:0x00007f4a03d737b0>

#1

Bonjour,

je veux utiliser les ws simplicité pour récupérer des données d’un objet d’un autre module.

j’utilise la méthode Tool.readUrl(url,“utf-8”).
je ne sais pas comment passer la paramètres d’authentification et du coup, ça plante.

est-ce-que vous avez des exemples ?


(François Genestin) #2

Pour un intégration front (c’est le navigateur qui se connecte à une application) on peut passer par la couche Ajax/JSon
https://www.simplicite.io/resources/documentation/03-apis/ajax-api.md

Si c’est du code côté serveur, il faut passer par les API REST/JSON :
https://www.simplicite.io/resources/documentation/02-integration/rest-services.md

Pour l’authent et bien il faut passer par l’API qui a les credentials
https://www.simplicite.io/resources/4.0/javadoc/

Tool.readUrl(url, username, password)

ou pour tout spécifier :

Tool.readUrl(java.lang.String url,
     java.lang.String username,
     java.lang.String password,
     java.lang.String method,
     java.lang.Object postData,
     java.lang.Object headers,
     java.lang.String encoding)

Read from URL with basic HTTP authentication
Parameters:
url - URL to read
username - Optional user name
password - Optional password
method - Optional HTTP method (GET|POST|DELETE|PUT)
headers - Optional extra headers (String array of "name:value" or Map)
Returns:
Full response as text
or exception SocketTimeoutException, IOException, InterruptedException

#3

j’ai écrit le code suivant et j’ai une erreur 401 : la requête nécessite une authentification HTTP.

var login=Grant.getSystemAdmin().getParameter("CRB_WS_SIMPLICITE_LOGIN");
var pwd=Grant.getSystemAdmin().getParameter("CRB_WS_SIMPLICITE_PWD");
var url = Grant.getSystemAdmin().getParameter("CRB_WS_SIMPLICITE_URL");
url+="CrbEbMarche";
if (direction !== ""){
	url += "/?ebMarcheDirAchat="+escape(direction);	
} 
var res = Tool.readUrl(url,login,pwd);

quand j’exécute la requête dans mon navigateur ça fonctionne


#4

j’ ai trouvé l’erreur, l’authentification fonctionne


(David AZOULAY) #5

Bonjour

Une précision: je ne pense pas qu’utiliser la fonction JavaScript escape soit une bonne idée. Je ne sais pas comment elle est implémentée en Rhino mais, sur le JavaScript des navigateurs, elle est connue pour ne pas bien gérer l’encoding UTF-8, j’imagine qu’il en est de même sur le JavaScript Rhino…

Bref il utiliser HTTPTool.encode(value) ou HTTTool.append(url, name, value)