You are not logged in.

  • Login

Dear visitor, welcome to Qkom GmbH Community. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Dominic Ley

Consultant

  • "Dominic Ley" started this thread

Posts: 2

Occupation: Developer/Consultant

  • Send private message

1

Tuesday, July 12th 2011, 12:58pm

gSoap Webservice Request - soapgate Q! (DBGETMAILINFO)

Type: Source
Version: 0.2-ALPHA
Size: 252,68 kB
License: Apache License, Version 2.0
Author: QKom GmbH (info@qkom.de)
Website: http://www.qkom.de

Description:
This proof of concept shows the minimal implementation of a SOAP-based web service request using the OpenSource web service toolkit gSOAP. It triggers a DBGETMAILINFO on our demo server domino.flexdomino.net. Note that there are no security "layer" implemented yet - this is just a PoC.

The header file comes with fully functional soapgate Q! classes. The main.c source just implements a DBGETMAILINFO request. Feel free to write more code against the header file... We will do so, too


This Code is developed under *BSD and it's tested on Linux, FreeBSD and Mac OSX.
Improved versions and a README/HOWTO will be added to this article soon.

Compile the source in UNIX:
gcc main.C soapC.c soapClient.c -o dbgetmailinfo -lgsoap


NOTE:
In order to compile this code you need at least the gSOAP package installed on your local machine to point to lgsoap.


#include "soapH.h"
#include "DominoSoapBinding.nsmap"

#define _USAGE "usage: ./dbgetmailinfo <USERNAME>\n"

void usage(int ex){
    puts(_USAGE);
    if(ex==0)
        exit(0);
}

int main(int argc, char **argv){
    struct soap soap;
    struct ns1__xsd_USCOREstringArray* result;
    
    if(argc<2)
        usage(0);
    
    soap_init(&soap);
    
    puts("[..] Sending request");
    if(soap_call___ns1__DBGETMAILINFO(&soap,NULL,NULL,(char *)argv[1],result))
        puts("[EE] Request failed");
    else
        puts("[OK] Request succeeded");

    soap_end(&soap);
    soap_done(&soap);
    return 0;
}
Dominic Ley has attached the following file:
---
everyone's first vi session. ^C^C^X^X^X^XquitqQ!qdammit[esc]qwertyuiopasdfghjkl;:xwhat