Étape 1: Créer et exécuter l’application C++
Cclient.c
#include
#include
#include « soapEncryptDecryptSoapBindingProxy.h » / / obtenir le stub généré
#include « EncryptDecryptSoapBinding.nsmap »
#include
#include
void callWeb() ;
Texte, Texte1 ;
main (int argc, char *argv[])
{
XtAppContext app ;
Widget toplevel, bouton ;
void my_callback (Widget, XtPointer, XtPointer) ;
XmString btn_text ;
ARG, args [2] ;
XtSetLanguageProc (NULL, NULL, NULL) ;
toplevel = XtVaOpenApplication (& app, « Web Client », NULL, 0, & argc, argv, NULL,
sessionShellWidgetClass, NULL) ;
Forme de widget = XtVaCreateManagedWidget ("", xmFormWidgetClass,
TopLevel, XmNrightAttachment, XmATTACH_FORM, XmNy, 10, XmNwidth, 447, XmNheight, 587, XmNbackground, 0xa1b6d6, NULL) ;
Widget firstLabel = XtVaCreateManagedWidget ("", xmLabelWidgetClass, forme,
XmNlabelString, XmStringCreateLocalized (« crypter/décrypter Web Service Client par Saurabh Saxena »), XmNbackground, 0xc1ffff, XmNtopAttachment
XmATTACH_FORM, XmNleftAttachment, XmATTACH_FORM, XmNrightAttachment, XmATTACH_FORM, NULL) ;
Widget Label = XtVaCreateManagedWidget ("", xmLabelWidgetClass, forme, XmNlabelString, XmStringCreateLocalized ("Enter Text"), XmNbackground, 0xc1ffcc,
XmNtopAttachment, XmATTACH_WIDGET, XmNtopWidget, firstLabel, XmNleftAttachment, XmATTACH_FORM, XmNwidth, 75, XmNheight, 29, NULL) ;
texte = XtVaCreateManagedWidget ("", xmTextWidgetClass, former, XmNleftAttachment, XmATTACH_WIDGET, XmNleftWidget, Label, XmNtopAttachment,
XmATTACH_WIDGET, XmNtopWidget, firstLabel, XmNwidth, 75, XmNheight, 29, XmNbackground, 0xffffff, XmNeditable, TRUE, XmNcursorPositionVisible,
FAUX, XmNhighlightThickness, XmNshadowThickness, 0, 1, NULL) ;
bouton = XtVaCreateManagedWidget ("", xmPushButtonWidgetClass, former, XmNtopAttachment, XmATTACH_WIDGET, XmNtopWidget, firstLabel,
XmNleftAttachment,XmATTACH_WIDGET,XmNleftWidget,text,XmNlabelString,XmStringCreateSimple("Click"),XmNheight,20,XmNwidth,40,NULL) ;
Widget Label2 = XtVaCreateManagedWidget ("", xmLabelWidgetClass, forme, XmNlabelString, XmStringCreateLocalized ("texte de sortie »), XmNbackground,
0xc1ffcc, XmNtopAttachment, XmATTACH_WIDGET, XmNtopWidget, Label, XmNleftAttachment, XmATTACH_FORM, XmNwidth, 75, XmNheight, 29, NULL) ;
Text1 = XtVaCreateManagedWidget ("", xmTextWidgetClass, forme, XmNleftAttachment, XmATTACH_WIDGET, XmNleftWidget, Label2, XmNtopAttachment,
XmATTACH_WIDGET, XmNtopWidget, texte, XmNwidth, 75, XmNheight, 29, XmNbackground, 0xffffff, XmNeditable, FALSE, XmNcursorPositionVisible,
FAUX, XmNhighlightThickness, XmNshadowThickness, 0, 1, NULL) ; XtAddCallback (bouton, XmNactivateCallback, my_callback, NULL) ; XtManageChild (bouton) ; XtRealizeWidget (toplevel) ;
XtAppMainLoop (app);} void my_callback (Widget w, XtPointer client_data, XtPointer call_data)
{XmPushButtonCallbackStruct * EC =(XmPushButtonCallbackStruct *) call_data ; callWeb() ;
} void callWeb()
{EncryptDecryptSoapBindingProxy service ; std::string résultat ;
Si (service.encDec(XmTextGetString(text),result) == SOAP_OK)
{
std::cout << « Résultat » << résultat << std::endl ;
char * cstr = nouveau char[result.length() + 1] ;
strcpy (cstr, result.c_str()) ;
XmTextSetString(text1,cstr) ;
delete [] cstr ;
}
d’autre
service.soap_stream_fault(std::CERR) ;
}
Compilez le code ci-dessus en utilisant la commande suivante :
g ++ -o Cclient Cclient.c soapC.cpp soapEncryptDecryptSoapBindingProxy.cpp - lgsoap ++ - lXm - lXt-lX11
Exécutez le fichier exécutable pour accéder aux fonctionnalités fournies par le Service Web.