API axiscStubSetSecure

configuration Apache, Zend et PHP , Web services
Répondre
BJ
Messages : 11
Enregistré le : mer. 04 oct. 2017, 05:53:21
Localisation : Montpellier

API axiscStubSetSecure

Message par BJ »

Bonjour,

je suis bloqué par un webservice pour configurer convenablement l'api axiscStubSecure car le fournisseur m'indique seulement que la communication se fait sous SSL avec un certificat que j'ai importé dans DCM et un mot de passe contenu dans un autre fichier dont l'extension est pfx. Que faire avec ce fichier? et quel paramètre dois je passer à l'API?

Merci si quelqu'un peut m'aider.

cmasse
Site Admin
Messages : 813
Enregistré le : mer. 14 févr. 2007, 18:00:03
Localisation : Nantes
Contact :

axiscStubSetSecure

Message par cmasse »

Code : Tout sélectionner

Après avoir ajouté

  /copy /QIBM/ProdData/OS/WebServices/V1/client/include/Axis.rpgleinc
  * qui contient
 D* axiscStubSetSecure...
 D*                 PR                  EXTPROC('axiscStubSetSecure')
 D* pStub                           *   Value
 D* pKeyRingFile                    *   Value OPTIONS(*STRING)
 D* pKeyRingSorP                    *   Value OPTIONS(*STRING : *NOPASS)
 D* pKeyRingLabel                   *   Value OPTIONS(*STRING : *NOPASS)
 D* pV2Cipher                       *   Value OPTIONS(*STRING : *NOPASS)
 D* pV3Cipher                       *   Value OPTIONS(*STRING : *NOPASS)
 D* pTLSv1Cipher                    *   Value OPTIONS(*STRING : *NOPASS)
 D* pTKSv11Cipher                   *   Value OPTIONS(*STRING : *NOPASS)
 D* pTKSv12Cipher                   *   Value OPTIONS(*STRING : *NOPASS) 
  * ce dernier paramètre permet une tolérance (date dépassée par ex.)
 D* pTolerate                       *   Value OPTIONS(*STRING : *NOPASS) 
   
  /free
   NONE = 'NONE' + x'00;
   TRUE = 'true' + x'00';

    if stub_create_convertTempServices;
      axiscStubSetSecure(WsStub.handle:
                        '/QIBM/USERDATA/ICSS/CERT/SERVER/DEFAULT.KDB': 
                        'motdepasse': 'label':NONE:NONE:NONE:NONE:x'00':TRUE);
                                                    // activation TLSv12 + tolérance
Si vous recevez HTTPTransportException: HTTPS transport error.GSKit Error is 428 - No certificate is available for SSL processing.
ne mettez rien en 3eme paramètre (remplacez motdepasse par une chaine vide)


Si vous avez des temps de réponses particulièrement longs, utilisez axiscStubSetTransportConnectTimeout(handle, nb-de-secondes)

Si vous rencontrez des problèmes, lancez une trace par axiscAxisStartTrace(’/tmp/axis.log’:*NULL) en début de pgm.
( axiscAxisStopTrace permet d'arrêter la trace)
Christian Massé (Volubis.fr)

BJ
Messages : 11
Enregistré le : mer. 04 oct. 2017, 05:53:21
Localisation : Montpellier

Message par BJ »

merci, je vais essayer et j'attends le retour du fournisseur

BJ
Messages : 11
Enregistré le : mer. 04 oct. 2017, 05:53:21
Localisation : Montpellier

Message par BJ »

En attendant la réponse du fournisseur, je finis de coder le programme et je m'aperçois que les noms des variables que je récupère sont super longs. Ils font 200 charactères de long par exemple. L'as/400 du client pour lequel on travaille est en V6R1 et mon programme est écrit en free. Comment puis je faire un eval avec un nom de variable aussi long?
J'ai essayé ceci:

Qte=Xreponse.RetourRecupererDonneesObjet.Dernieres
Releves_REF.PeriodePCEJJ_Ref.Releve
PCEJJ_Ref.array(I).Quantite_Ref.value;

mais ça ne passe pas à la compilation. Il donne des erreurs 7030 pour chaque ligne alors que le nom du champ est :
Xreponse.RetourRecupererDonneesObjet.DernieresReleves_REF.PeriodePCEJJ_Ref.RelevePCEJJ_Ref.array(I).Quantite_Ref.value;

BJ
Messages : 11
Enregistré le : mer. 04 oct. 2017, 05:53:21
Localisation : Montpellier

Message par BJ »

j'ai modifié le programme pour ajouter les paramètres indiqués mais j'ai une erreur de compil car trop de paramètres indiqués:

// Ouverture de la connexion du web service
if (stub_create_RecupererDonneesPCEService(xs_ds)= *On);
None = 'NONE' + x'00';
True = 'true' + x'00';
// établissement des paramètres de la connexion SSL
axiscStubSetSecure(xs_ds.handle:
RNF5407: Le nombre de paramètres transmis dans l'appel prototype est supérieur au nombre admis.
RNF5407: Le nombre de paramètres transmis dans l'appel prototype est supérieur au nombre admis.
RNF5407: Le nombre de paramètres transmis dans l'appel prototype est supérieur au nombre admis.
'/QIBM/USERDATA/ICSS/CERT/SERVER/DEFAULT.KDB':
' ':
NULLSTR:
NONE:
NONE:
NONE:
NONE:
x'00':
TRUE);

cmasse
Site Admin
Messages : 813
Enregistré le : mer. 14 févr. 2007, 18:00:03
Localisation : Nantes
Contact :

version 1.5 obsolete

Message par cmasse »

problématique de version je pense (V6R10 je crois), il faut enlever des paramètres (en aveugle, la 610 n'étant plus maintenue) ou retrouver la doc de cette version.
Christian Massé (Volubis.fr)

BJ
Messages : 11
Enregistré le : mer. 04 oct. 2017, 05:53:21
Localisation : Montpellier

Message par BJ »

effectivement, le changement de version V7R3 normalement planifié pour 2018 devrait solutionner le problème.

Merci de votre aide

Répondre