Bonjour,
c'est mon premier web service et j'ai des problèmes avec les sources en C générés par wsdl2rpg. Il y en a 3 qui sont en erreur lors de la compilation et comme je ne connais pas le C, je suis stoppé. Je précise que nous sommes en V6R1 et que j'ai mis la machine à jour pour les PTF cette nuit, mais rien à faire. La compilation est en erreur. Que faire?
WSDL2RPG
Bonjour,
merci pour le retour. En effet sans la compiul, on ne peut pas m'aider. Voici donc la partie du listing où l'erreur de syntaxe est signalée:
Fichier spoule
Fichier . . . . : WSC7 Page/Ligne 4/56
Contrôle . . . . Colonnes 1 - 130
Recherche . . . .
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2....+....3
154 |/** | 154
155 | ****************************************************************************** | 155
156 | * Function used to delete objects of type recupererDonneesPCEOperationResult. | 156
157 | ****************************************************************************** | 157
158 | */ | 158
5761WDS V6R1M0 080215 IBM ILE C for i5/OS cupererDonneesPCEOperationResult.c DEVLPTS 16/10/17 06:50:13 Page 5
159 | | 159
160 |void Axis_Delete_recupererDonneesPCEOperationResult(recupererDonneesPCEOperationResult* param, in\| 160
160 |t nSize) | 160
161 |{ | 161
162 | /* If NULL, just return */ | 162
163 | if (param == NULL) | 163
164 | return; | 164
165 | | 165
166 | /* Reclaim memory resources (recursion is used to reclaim arrays) */ | 166
*=SEVERE==========> CZM0046 Syntax error.
167 | if (nSize > 0) | 167
168 | { | 168
169 | int i; | 169
A suivre...
merci pour le retour. En effet sans la compiul, on ne peut pas m'aider. Voici donc la partie du listing où l'erreur de syntaxe est signalée:
Fichier spoule
Fichier . . . . : WSC7 Page/Ligne 4/56
Contrôle . . . . Colonnes 1 - 130
Recherche . . . .
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2....+....3
154 |/** | 154
155 | ****************************************************************************** | 155
156 | * Function used to delete objects of type recupererDonneesPCEOperationResult. | 156
157 | ****************************************************************************** | 157
158 | */ | 158
5761WDS V6R1M0 080215 IBM ILE C for i5/OS cupererDonneesPCEOperationResult.c DEVLPTS 16/10/17 06:50:13 Page 5
159 | | 159
160 |void Axis_Delete_recupererDonneesPCEOperationResult(recupererDonneesPCEOperationResult* param, in\| 160
160 |t nSize) | 160
161 |{ | 161
162 | /* If NULL, just return */ | 162
163 | if (param == NULL) | 163
164 | return; | 164
165 | | 165
166 | /* Reclaim memory resources (recursion is used to reclaim arrays) */ | 166
*=SEVERE==========> CZM0046 Syntax error.
167 | if (nSize > 0) | 167
168 | { | 168
169 | int i; | 169
A suivre...
le ccsid est bien fixé à 297 sur la valeur QCCSID.
Je ne sais plus comment j'ai fait, mais avec RDI j'avais compilé le source dans l'IFS et le double clic sur l'erreur ouvrait un autre source et se positionnait sur la 1ère virgule de la ligne
, ENUMETATPCE_0=0, ENUMETATPCE_1=1, ENUMETATPCE_2=2,
avec le message syntax error. Ci joint le source
/*
* Copyright 2003-2006 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
* This file contains functions to manipulate type etatPCE
*/
#if !defined(__ETATPCE_H__INCLUDED_)
#define __ETATPCE_H__INCLUDED_
#include <axis/AxisUserAPI.h>
/* ********************************************************************* */
/* --- Simple types and restrictions --- */
/* ********************************************************************* */
typedef xsdc__int etatPCE;
typedef xsdc__int_Array etatPCE_Array;
, ENUMETATPCE_0=0, ENUMETATPCE_1=1, ENUMETATPCE_2=2, ENUMETATPCE_3=3, ENUMETATPCE_9=9} etatPCE_Enum;
#endif /* !defined(__ETATPCE_H__INCLUDED_)*/
Je ne sais plus comment j'ai fait, mais avec RDI j'avais compilé le source dans l'IFS et le double clic sur l'erreur ouvrait un autre source et se positionnait sur la 1ère virgule de la ligne
, ENUMETATPCE_0=0, ENUMETATPCE_1=1, ENUMETATPCE_2=2,
avec le message syntax error. Ci joint le source
/*
* Copyright 2003-2006 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
* This file contains functions to manipulate type etatPCE
*/
#if !defined(__ETATPCE_H__INCLUDED_)
#define __ETATPCE_H__INCLUDED_
#include <axis/AxisUserAPI.h>
/* ********************************************************************* */
/* --- Simple types and restrictions --- */
/* ********************************************************************* */
typedef xsdc__int etatPCE;
typedef xsdc__int_Array etatPCE_Array;
, ENUMETATPCE_0=0, ENUMETATPCE_1=1, ENUMETATPCE_2=2, ENUMETATPCE_3=3, ENUMETATPCE_9=9} etatPCE_Enum;
#endif /* !defined(__ETATPCE_H__INCLUDED_)*/
Finalement j'ai pu progresser car en modififant légèrement le wsdl, l'outil WSL2RPG compile et crée le programme de service.
Maintenant j'ai un problème à l'exécution de l'api axissetsecure qui me renvoie l'erreur suivante:
Pointeur non défini pour position mémoire référencée.
Erreur. MCH3601 non intercepté par QAXIS10C à la spécif *N, inst X'0000'.
(C G D F) Appel à axiscStubS terminé en erreur.
(C G D F) Appel à axiscStubS terminé en erreur.
Le code RPG est celui-ci:
if stub_create_RecupererDonneesPCEService(xs_ds);
axiscStubSetSecure(WsStub.handle:
'/QIBM/USERDATA/ICSS/CERT/SERVER/DEFAULT.KDB':
'opera': 'label':'NONE':'05':'NONE');
Maintenant j'ai un problème à l'exécution de l'api axissetsecure qui me renvoie l'erreur suivante:
Pointeur non défini pour position mémoire référencée.
Erreur. MCH3601 non intercepté par QAXIS10C à la spécif *N, inst X'0000'.
(C G D F) Appel à axiscStubS terminé en erreur.
(C G D F) Appel à axiscStubS terminé en erreur.
Le code RPG est celui-ci:
if stub_create_RecupererDonneesPCEService(xs_ds);
axiscStubSetSecure(WsStub.handle:
'/QIBM/USERDATA/ICSS/CERT/SERVER/DEFAULT.KDB':
'opera': 'label':'NONE':'05':'NONE');