You are not logged in.

  • Login

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