Page 1 sur 1
					
				Commande cURL
				Posté : jeu. 26 août 2021,  13:40:16
				par Annieg
				Bonjour, 
Lorsque que j'exécute une commande cURL via un pgm, je récupère un code erreur = 0 et le contenu du fichier sur l'ifs est vide. 
Alors que si je lance la même commande via Postman et le résultat est bon. 
Voici le curl récupéré du postman : 
curl --location --request POST '
https://document-management-services.i1 ... /open/auth' \
--header 'Accept: application/json' \
--header 'Authorization: Basic ZG1zX29hdjpkbXNvYXYyMDIw' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials'
Voici la commande lancée via le pgm : 
STRQSH CMD('/QOpenSys/pkgs/bin/curl --location --request POS
T ''
https://document-management-services.i1 ... al.dev.app
s.cbp.solutions/private/open/auth'' \  --header ''Accept: ap
plication/json'' \  --header ''Authorization: Basic ZG1zX29h
djpkbXNvYXYyMDIw'' \  --header ''Content-Type: application/x
-www-form-urlencoded'' \  --data-urlencode ''grant_type=clie
nt_credentials'' > ''/Application/Adhesion/courriers/outputT
oken-20210816144757713300.txt''')   
Avez-vous une idée ? 
Merci d'avance pour vos réponses.
 
			 
			
					
				Re: Commande cURL
				Posté : jeu. 26 août 2021,  13:58:50
				par nbonnet
				Bonjour,
quel est le résultat si vous le tapez depuis l'IBM i en ligne de commande QSH ?
			 
			
					
				Re: Commande cURL
				Posté : jeu. 26 août 2021,  14:01:38
				par nbonnet
				Je viens de voir également : les \ sont en trop je pense
			 
			
					
				Re: Commande cURL
				Posté : jeu. 26 août 2021,  14:16:43
				par Annieg
				Quand je tape la commande, le code erreur est 0 et le statut = 3.
			 
			
					
				Re: Commande cURL
				Posté : jeu. 26 août 2021,  14:20:56
				par nbonnet
				Vous pouvez nous faire un copier/coller du résultat sous QSH ?
			 
			
					
				Re: Commande cURL
				Posté : jeu. 26 août 2021,  14:26:25
				par Annieg
				J'ai oublié de mentionner que l'exemple suivant fonctionne dans un pgm : 
STRQSH CMD('/QOpenSys/pkgs/bin/curl --location  --request PO
ST ''
http://edition-oav.i1.internal.dev.apps.cbp.solutions/o
av/uploadMultipleFiles?name=document.pdf&mimetype=applicatio
n/pdf'' \  --form ''courrier=@/Application/Adhesion/courrier
s/208/2021/8/5/63400068_A_Assure.PDF'' \  --form ''json={"co
urrier":{"id":63400068,"dmsMetaData":{"content":{"mimeType":
"application/pdf"},"description":"63400068-Assuré","indexati
on":{"activity":{"id":"1"},"domain":{"id":"1"},"subsidiary":
{"id":"4"},"nature":{"id":208}}}},"transmissionCourrier":{"i
d":"OUTPUT_MAIL","copyCount":"1","registered":"false","count
ry":{"id":"71","name":""},"printing":{"defaultPrintingQueue"
:"JOURPREVX","printingMode":"AUTOMATIC"},"delay":1}}'' > ''/
Application/Adhesion/courriers/output-20210826102607724447.t
xt''')
 
			 
			
					
				Re: Commande cURL
				Posté : jeu. 26 août 2021,  14:49:26
				par Annieg
				En lançant la commande STRQSH CMD.... sur une ligne de commande, j'obtiens :
 $                                                                                                                                
 '/QOpenSys/pkgs/bin/curl --location --request POST ''
https://document-management-services.i1 ... tions/priv
 ate/open/auth'' \  --header ''Accept: application/json'' \  --header ''Authorization: Basic ZG1zX29hdjpkbXNvYXYyMDIw'' \  --heade
 r ''Content-Type: application/x-www-form-urlencoded'' \  --data-urlencode ''grant_type=client_credentials'' > ''/Application/Adhe
 sion/courriers/outputToken-20210826888757713300.txt'''                                                                           
 qsh: 001-0014 Command /QOpenSys/pkgs/bin/curl --location --request POST 
https://document-management-services.i1 ... l.dev.apps
 .cbp.solutions/private/open/auth \  --header Accept: application/json \  --header Authorization: Basic ZG1zX29hdjpkbXNvYXYyMDIw \
   --header Content-Type: application/x-www-form-urlencoded \  --data-urlencode grant_type=client_credentials > /Application/Adhes
 ion/courriers/outputToken-20210826888757713300.txt not found.                                                                    
 $
 
			 
			
					
				Re: Commande cURL
				Posté : jeu. 26 août 2021,  16:36:25
				par nbonnet
				La commande ne doit pas être entre cote ' (c'est peut être juste le copier / coller).
Vous pouvez vérifier que la commande curl est bien installée par :
/QopenSys/pkgs/bin/curl --help
			 
			
					
				Re: Commande cURL
				Posté : jeu. 26 août 2021,  17:03:30
				par Annieg
				J'ai essayé en enlevant les ' et voici les messages : 
curl: (3) URL using bad/illegal format or missing URL
curl: (6) getaddrinfo() thread failed to start       
 
Je confirme, la commande curl /QopenSys/pkgs/bin/curl --help est bien installée.
			 
			
					
				Re: Commande cURL
				Posté : jeu. 26 août 2021,  18:27:50
				par vazymimil
				Bonsoir,
essayez après avoir ajouter la variable d'environnement QIBM_MULTI_THREADED, par défaut QSH n'est pas multithread.
curl: (6) getaddrinfo() thread failed to start  devrait disparaitre
si 
curl: (3) URL using bad/illegal format or missing URL persiste essayons avec un script shell
Code : Tout sélectionner
PATH=/QOpenSys/pkgs/bin/:$PATH
curl 
--verbose
--location --request POST 'https://document-management-services.i1.internal.dev.apps.cbp.solutions/private/open/auth' \
--header 'Accept: application/json' \
--header 'Authorization: Basic ZG1zX29hdjpkbXNvYXYyMDIw' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
> '/Application/Adhesion/courriers/outputToken-20210816144757713300.txt'
Puis lancez (toujours avec QIBM_MULTI_THREADED=Y)