Hur man konsumerar en enkel Java Web tjänst från C++(Legacy) & Java-program (1 / 1 steg)
Steg 1: Skapa och köra C++ app
Cclient.c
#include
#include
#include "soapEncryptDecryptSoapBindingProxy.h" / / få den genererade stubben
#include "EncryptDecryptSoapBinding.nsmap"
#include
#include
void callWeb();
Widget text, text1;
Main (int argc, char *argv[])
{
XtAppContext app;
Widget toplevel, knapp;
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);
Widget form = XtVaCreateManagedWidget ("", xmFormWidgetClass,
TopLevel, XmNrightAttachment, XmATTACH_FORM, XmNy, 10, XmNwidth, 447, XmNheight, 587, XmNbackground, 0xa1b6d6, NULL);
Widget firstLabel = XtVaCreateManagedWidget ("", xmLabelWidgetClass, form,
XmNlabelString, XmStringCreateLocalized ("kryptera/dekryptera tjänsten webbklient genom Saurabh Saxena"), XmNbackground, 0xc1ffff, XmNtopAttachment
XmATTACH_FORM, XmNleftAttachment, XmATTACH_FORM, XmNrightAttachment, XmATTACH_FORM, NULL);
Widget etikett = XtVaCreateManagedWidget ("", xmLabelWidgetClass, bilda, XmNlabelString, XmStringCreateLocalized ("Ange Text"), XmNbackground, 0xc1ffcc,
XmNtopAttachment, XmATTACH_WIDGET, XmNtopWidget, firstLabel, XmNleftAttachment, XmATTACH_FORM, XmNwidth, 75, XmNheight, 29, NULL);
text = XtVaCreateManagedWidget ("", xmTextWidgetClass, bilda, XmNleftAttachment, XmATTACH_WIDGET, XmNleftWidget, etikett, XmNtopAttachment,
XmATTACH_WIDGET, XmNtopWidget, firstLabel, XmNwidth, 75, XmNheight, 29, XmNbackground, 0xffffff, XmNeditable, sanna, XmNcursorPositionVisible,
FALSKT, XmNhighlightThickness, 0, XmNshadowThickness, 1, NULL);
knappen = XtVaCreateManagedWidget ("", xmPushButtonWidgetClass, bilda, XmNtopAttachment, XmATTACH_WIDGET, XmNtopWidget, firstLabel,
XmNleftAttachment,XmATTACH_WIDGET,XmNleftWidget,text,XmNlabelString,XmStringCreateSimple("Click"),XmNheight,20,XmNwidth,40,NULL);
Widget Label2 = XtVaCreateManagedWidget ("", xmLabelWidgetClass, bilda, XmNlabelString, XmStringCreateLocalized ("Output Text"), XmNbackground,
0xc1ffcc, XmNtopAttachment, XmATTACH_WIDGET, XmNtopWidget, etikett, XmNleftAttachment, XmATTACH_FORM, XmNwidth, 75, XmNheight, 29, NULL);
Text1 = XtVaCreateManagedWidget ("", xmTextWidgetClass, bilda, XmNleftAttachment, XmATTACH_WIDGET, XmNleftWidget, Label2, XmNtopAttachment,
XmATTACH_WIDGET, XmNtopWidget, text, XmNwidth, 75, XmNheight, 29, XmNbackground, 0xffffff, XmNeditable, falskt, XmNcursorPositionVisible,
FALSKT, XmNhighlightThickness, 0, XmNshadowThickness, 1, NULL); XtAddCallback (knapp, XmNactivateCallback, my_callback, NULL); XtManageChild (knappen); XtRealizeWidget (toplevel);
XtAppMainLoop (app);} void my_callback (Widget w, XtPointer client_data, XtPointer call_data)
{XmPushButtonCallbackStruct * cbs =(XmPushButtonCallbackStruct *) call_data; callWeb();
} void callWeb()
{EncryptDecryptSoapBindingProxy service, std::string resultatet;
om (service.encDec(XmTextGetString(text),result) == SOAP_OK)
{
std::Cout << "Resultatet" << resultat << std::endl;
char * cstr = ny char[result.length() + 1];
strcpy (cstr, result.c_str());
XmTextSetString(text1,cstr);
ta bort [] cstr;
}
annat
service.soap_stream_fault(std::cerr);
}
Kompilera ovanstående kod med hjälp av följande kommando:
g ++ -o Cclient Cclient.c soapC.cpp soapEncryptDecryptSoapBindingProxy.cpp - lgsoap ++ - lXm - lXt-lX11
Springa den verkställare till tillträde den funktionalitet som ges av webbtjänsten.