Changeset 1743

Show
Ignore:
Timestamp:
08/18/08 13:36:43 (4 months ago)
Author:
xkovah
Message:

I think I've tracked down the way to send MIME via perl

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • capture-mod/trunk/CaptureSoapServer.cpp

    r1729 r1743  
    103103int ns__junks(struct soap *soap, char * a, ns__myStruct &result) 
    104104{ 
    105     printf("in ns__struct\n"); 
     105    printf("in ns__junks\n"); 
    106106    ns__myStruct bob; 
    107107    bob.first = "bob"; 
     
    112112} 
    113113 
     114int ns__sendBase64(struct soap *soap, char * data, int encodedLength, int decodedLength, ns__myStruct &result){ 
     115    printf("in ns__sendBase64\n"); 
    114116 
     117    struct soap_multipart * attachment; 
     118    for(attachment = soap.mime.list; attachment; attachment = attachment->next){ 
     119       printf("MIME attachment:\n");  
     120       printf("Memory=%p\n", (*attachment).ptr);  
     121       printf("Size=%ul\n", (*attachment).size);  
     122       printf("Encoding=%d\n", (int)(*attachment).encoding);  
     123       printf("Type=%s\n", (*attachment).type?(*attachment).type:"null");  
     124       printf("ID=%s\n", (*attachment).id?(*attachment).id:"null");  
     125       printf("Location=%s\n", (*attachment).location?(*attachment).location:"null");  
     126       printf("Description=%s\n", (*attachment).description?(*attachment).description:"null 
     127    } 
     128     
     129    printf("=================DATA==============\n"); 
     130    printf("=================DATA==============\n"); 
     131    printf("=================DATA==============\n"); 
     132    printf("=================DATA==============\n"); 
     133    printf("First 4 = %c%c%c%c\n", data[0], data[1], data[2], data[3]); 
     134    printf("encodedLength = %d, decodedLength = %d\n", encodedLength, decodedLength); 
     135    //  printf("Last 4 = %c%c%c%c\n", data[encodedLength-1], data[encodedLength-2], data[encodedLength-3], data[encodedLength-4]); 
     136 
     137 
     138    ns__myStruct bob; 
     139    bob.first = "bob"; 
     140    bob.last = "dole"; 
     141    result = bob; 
     142 
     143    return SOAP_OK; 
     144 
     145} 
     146 
  • capture-mod/trunk/capture.wsdl

    r1729 r1743  
    5151</message> 
    5252 
     53<message name="sendBase64"> 
     54 <part name="data" type="xsd:string"/> 
     55 <part name="encodedLength" type="xsd:int"/> 
     56 <part name="decodedLength" type="xsd:int"/> 
     57</message> 
     58 
    5359<message name="addRequest"> 
    5460 <part name="a" type="xsd:int"/> 
     
    9197  <output message="tns:s"/> 
    9298 </operation> 
     99 <operation name="sendBase64"> 
     100  <documentation>Service definition of function ns__sendBase64</documentation> 
     101  <input message="tns:sendBase64"/> 
     102  <output message="tns:s"/> 
     103 </operation> 
    93104 <operation name="add"> 
    94105  <documentation>Service definition of function ns__add</documentation> 
     
    116127 <SOAP:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> 
    117128 <operation name="junks"> 
     129  <SOAP:operation style="rpc" soapAction=""/> 
     130  <input> 
     131     <SOAP:body use="encoded" namespace="capture" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> 
     132  </input> 
     133  <output> 
     134     <SOAP:body use="encoded" namespace="capture" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> 
     135  </output> 
     136 </operation> 
     137 <operation name="sendBase64"> 
    118138  <SOAP:operation style="rpc" soapAction=""/> 
    119139  <input> 
  • capture-mod/trunk/captureGSOAP.h

    r1736 r1743  
    1515 
    1616int ns__junks(char * a, ns__myStruct &result); 
    17  
    18 int ns__writeFile(); 
     17int ns__sendBase64(char * data, int encodedLength, int decodedLength, ns__myStruct &result); 
    1918 
    2019int ns__add(int a, int b, int &result);  
    2120int ns__ping(char * a, char ** result); 
    2221int ns__visit(char * a, char ** result); 
    23 int ns__sub(double a, double b, double &result);  
     22int ns__sub(double a, double b, double &result); 
  • capture-mod/trunk/client.pl

    r1736 r1743  
    33use Data::Dumper; 
    44 
    5 #use SOAP::Lite +trace => 'all'; 
    6 use SOAP::Lite; 
    7 use SOAP::MIME
     5use SOAP::Lite +trace => 'all'; 
     6#use SOAP::Lite; 
     7use SOAP::Lite::Packager
    88use MIME::Entity; 
     9use MIME::Base64; 
    910 
     11#test with a binary file 
     12#open(A, $ARGV[0]) or die "Can't open $ARGV[0]\n"; 
     13#$fullfile = ""; 
     14#while(<A>){ 
     15#   $fullfile .= $_; 
     16#} 
     17#$encoded = encode_base64($fullfile); 
     18#print "$fullfile\n"; 
     19#print "$encoded\n"; 
     20#@statz = stat($ARGV[0]); 
     21#$decodedLength = $statz[7]; 
     22#$encodedLength = length($encoded); 
     23#print "File size = " . $statz[7] . "\n"; 
     24#print "Base64 size = " . length($encoded)  . "\n"; 
     25 
     26my $ent = build MIME::Entity 
     27    Type    => "application/exe", 
     28    Path    => $ARGV[0], 
     29    Filename => $ARGV[0], 
     30    Disposition => "attachment"; 
     31 
     32 
     33#$base64Data = SOAP::Data->name(data => $encoded, encodedLength => $encodedLength, decodedLength => $decodedLength); 
     34$base64Data1 = SOAP::Data->name(data => $encoded); 
     35$base64Data2 = SOAP::Data->name(encodedLength => $encodedLength); 
     36$base64Data3 = SOAP::Data->name(decodedLength => $decodedLength); 
    1037 
    1138$pingDataA = SOAP::Data->name(a => "http://www.cnn.com"); 
     
    2350 
    2451 
     52#$res = SOAP::Lite 
     53#    -> proxy('http://192.168.0.131:1234/') 
     54#    -> ns('capture') 
     55#    -> junks($structData) 
     56#    -> result; 
     57 
     58print "\ncalling sendBase64\n\n"; 
    2559$res = SOAP::Lite 
     60    -> packager(SOAP::Lite::Packager::MIME->new) 
     61    -> parts([$ent]) 
    2662    -> proxy('http://192.168.0.131:1234/') 
    2763    -> ns('capture') 
    28     -> junks($structData
     64    -> sendBase64($base64Data1, $base64Data2, $base64Data3
    2965    -> result; 
    3066 
    3167print Dumper($res); 
    3268 
    33  
     69print "calling junks\n"; 
    3470$res = SOAP::Lite 
    3571    -> proxy('http://192.168.0.131:1234/') 
  • capture-mod/trunk/soapC.cpp

    r1729 r1743  
    88#include "soapH.h" 
    99 
    10 SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.7.10 2008-08-12 09:29:10 GMT") 
     10SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.7.10 2008-08-18 03:32:54 GMT") 
    1111 
    1212 
     
    178178    case SOAP_TYPE_ns__addResponse: 
    179179        return soap_in_ns__addResponse(soap, NULL, NULL, "ns:addResponse"); 
     180    case SOAP_TYPE_ns__sendBase64: 
     181        return soap_in_ns__sendBase64(soap, NULL, NULL, "ns:sendBase64"); 
    180182    case SOAP_TYPE_ns__junks: 
    181183        return soap_in_ns__junks(soap, NULL, NULL, "ns:junks"); 
     
    238240        {   *type = SOAP_TYPE_ns__addResponse; 
    239241            return soap_in_ns__addResponse(soap, NULL, NULL, NULL); 
     242        } 
     243        if (!soap_match_tag(soap, t, "ns:sendBase64")) 
     244        {   *type = SOAP_TYPE_ns__sendBase64; 
     245            return soap_in_ns__sendBase64(soap, NULL, NULL, NULL); 
    240246        } 
    241247        if (!soap_match_tag(soap, t, "ns:junks")) 
     
    351357    case SOAP_TYPE_ns__addResponse: 
    352358        return soap_out_ns__addResponse(soap, tag, id, (const struct ns__addResponse *)ptr, "ns:addResponse"); 
     359    case SOAP_TYPE_ns__sendBase64: 
     360        return soap_out_ns__sendBase64(soap, tag, id, (const struct ns__sendBase64 *)ptr, "ns:sendBase64"); 
    353361    case SOAP_TYPE_ns__junks: 
    354362        return soap_out_ns__junks(soap, tag, id, (const struct ns__junks *)ptr, "ns:junks"); 
     
    406414        soap_serialize_ns__addResponse(soap, (const struct ns__addResponse *)ptr); 
    407415        break; 
     416    case SOAP_TYPE_ns__sendBase64: 
     417        soap_serialize_ns__sendBase64(soap, (const struct ns__sendBase64 *)ptr); 
     418        break; 
    408419    case SOAP_TYPE_ns__junks: 
    409420        soap_serialize_ns__junks(soap, (const struct ns__junks *)ptr); 
     
    440451    case SOAP_TYPE_ns__junks: 
    441452        return (void*)soap_instantiate_ns__junks(soap, -1, type, arrayType, n); 
     453    case SOAP_TYPE_ns__sendBase64: 
     454        return (void*)soap_instantiate_ns__sendBase64(soap, -1, type, arrayType, n); 
    442455    case SOAP_TYPE_ns__addResponse: 
    443456        return (void*)soap_instantiate_ns__addResponse(soap, -1, type, arrayType, n); 
     
    497510            delete[] (struct ns__junks*)p->ptr; 
    498511        break; 
     512    case SOAP_TYPE_ns__sendBase64: 
     513        if (p->size < 0) 
     514            delete (struct ns__sendBase64*)p->ptr; 
     515        else 
     516            delete[] (struct ns__sendBase64*)p->ptr; 
     517        break; 
    499518    case SOAP_TYPE_ns__addResponse: 
    500519        if (p->size < 0) 
     
    22542273} 
    22552274 
     2275SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__sendBase64(struct soap *soap, struct ns__sendBase64 *a) 
     2276{ 
     2277    (void)soap; (void)a; /* appease -Wall -Werror */ 
     2278    soap_default_string(soap, &a->data); 
     2279    soap_default_int(soap, &a->encodedLength); 
     2280    soap_default_int(soap, &a->decodedLength); 
     2281} 
     2282 
     2283SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__sendBase64(struct soap *soap, const struct ns__sendBase64 *a) 
     2284{ 
     2285    (void)soap; (void)a; /* appease -Wall -Werror */ 
     2286    soap_serialize_string(soap, &a->data); 
     2287} 
     2288 
     2289SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__sendBase64(struct soap *soap, const struct ns__sendBase64 *a, const char *tag, const char *type) 
     2290{ 
     2291    register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__sendBase64); 
     2292    if (soap_out_ns__sendBase64(soap, tag, id, a, type)) 
     2293        return soap->error; 
     2294    return soap_putindependent(soap); 
     2295} 
     2296 
     2297SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__sendBase64(struct soap *soap, const char *tag, int id, const struct ns__sendBase64 *a, const char *type) 
     2298{ 
     2299    if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__sendBase64), type)) 
     2300        return soap->error; 
     2301    if (soap_out_string(soap, "data", -1, &a->data, "")) 
     2302        return soap->error; 
     2303    if (soap_out_int(soap, "encodedLength", -1, &a->encodedLength, "")) 
     2304        return soap->error; 
     2305    if (soap_out_int(soap, "decodedLength", -1, &a->decodedLength, "")) 
     2306        return soap->error; 
     2307    return soap_element_end_out(soap, tag); 
     2308} 
     2309 
     2310SOAP_FMAC3 struct ns__sendBase64 * SOAP_FMAC4 soap_get_ns__sendBase64(struct soap *soap, struct ns__sendBase64 *p, const char *tag, const char *type) 
     2311{ 
     2312    if ((p = soap_in_ns__sendBase64(soap, tag, p, type))) 
     2313        if (soap_getindependent(soap)) 
     2314            return NULL; 
     2315    return p; 
     2316} 
     2317 
     2318SOAP_FMAC3 struct ns__sendBase64 * SOAP_FMAC4 soap_in_ns__sendBase64(struct soap *soap, const char *tag, struct ns__sendBase64 *a, const char *type) 
     2319{ 
     2320    short soap_flag_data = 1, soap_flag_encodedLength = 1, soap_flag_decodedLength = 1; 
     2321    if (soap_element_begin_in(soap, tag, 0, type)) 
     2322        return NULL; 
     2323    a = (struct ns__sendBase64 *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__sendBase64, sizeof(struct ns__sendBase64), 0, NULL, NULL, NULL); 
     2324    if (!a) 
     2325        return NULL; 
     2326    soap_default_ns__sendBase64(soap, a); 
     2327    if (soap->body && !*soap->href) 
     2328    { 
     2329        for (;;) 
     2330        {   soap->error = SOAP_TAG_MISMATCH; 
     2331            if (soap_flag_data && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG)) 
     2332                if (soap_in_string(soap, "data", &a->data, "xsd:string")) 
     2333                {   soap_flag_data--; 
     2334                    continue; 
     2335                } 
     2336            if (soap_flag_encodedLength && soap->error == SOAP_TAG_MISMATCH) 
     2337                if (soap_in_int(soap, "encodedLength", &a->encodedLength, "xsd:int")) 
     2338                {   soap_flag_encodedLength--; 
     2339                    continue; 
     2340                } 
     2341            if (soap_flag_decodedLength && soap->error == SOAP_TAG_MISMATCH) 
     2342                if (soap_in_int(soap, "decodedLength", &a->decodedLength, "xsd:int")) 
     2343                {   soap_flag_decodedLength--; 
     2344                    continue; 
     2345                } 
     2346            if (soap->error == SOAP_TAG_MISMATCH) 
     2347                soap->error = soap_ignore_element(soap); 
     2348            if (soap->error == SOAP_NO_TAG) 
     2349                break; 
     2350            if (soap->error) 
     2351                return NULL; 
     2352        } 
     2353        if (soap_element_end_in(soap, tag)) 
     2354            return NULL; 
     2355    } 
     2356    else 
     2357    {   a = (struct ns__sendBase64 *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns__sendBase64, 0, sizeof(struct ns__sendBase64), 0, NULL); 
     2358        if (soap->body && soap_element_end_in(soap, tag)) 
     2359            return NULL; 
     2360    } 
     2361    if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_encodedLength > 0 || soap_flag_decodedLength > 0)) 
     2362    {   soap->error = SOAP_OCCURS; 
     2363        return NULL; 
     2364    } 
     2365    return a; 
     2366} 
     2367 
     2368SOAP_FMAC5 struct ns__sendBase64 * SOAP_FMAC6 soap_new_ns__sendBase64(struct soap *soap, int n) 
     2369{   return soap_instantiate_ns__sendBase64(soap, n, NULL, NULL, NULL); 
     2370} 
     2371 
     2372SOAP_FMAC5 void SOAP_FMAC6 soap_delete_ns__sendBase64(struct soap *soap, struct ns__sendBase64 *p) 
     2373{   soap_delete(soap, p); 
     2374} 
     2375 
     2376SOAP_FMAC3 struct ns__sendBase64 * SOAP_FMAC4 soap_instantiate_ns__sendBase64(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size) 
     2377{ 
     2378    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_ns__sendBase64(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:"")); 
     2379    struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_ns__sendBase64, n, soap_fdelete); 
     2380    if (!cp) 
     2381        return NULL; 
     2382    if (n < 0) 
     2383    {   cp->ptr = (void*)new struct ns__sendBase64; 
     2384        if (size) 
     2385            *size = sizeof(struct ns__sendBase64); 
     2386    } 
     2387    else 
     2388    {   cp->ptr = (void*)new struct ns__sendBase64[n]; 
     2389        if (!cp->ptr) 
     2390        {   soap->error = SOAP_EOM; 
     2391            return NULL; 
     2392        } 
     2393        if (size) 
     2394            *size = n * sizeof(struct ns__sendBase64); 
     2395    } 
     2396        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr)); 
     2397    return (struct ns__sendBase64*)cp->ptr; 
     2398} 
     2399SOAP_FMAC3 void SOAP_FMAC4 soap_copy_ns__sendBase64(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n) 
     2400{ 
     2401    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct ns__sendBase64 %p -> %p\n", q, p)); 
     2402    *(struct ns__sendBase64*)p = *(struct ns__sendBase64*)q; 
     2403} 
     2404 
    22562405SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__junks(struct soap *soap, struct ns__junks *a) 
    22572406{ 
  • capture-mod/trunk/soapClient.cpp

    r1729 r1743  
    77#include "soapH.h" 
    88 
    9 SOAP_SOURCE_STAMP("@(#) soapClient.cpp ver 2.7.10 2008-08-12 09:29:10 GMT") 
     9SOAP_SOURCE_STAMP("@(#) soapClient.cpp ver 2.7.10 2008-08-18 03:32:54 GMT") 
    1010 
    1111 
     
    3737     || soap_body_begin_out(soap) 
    3838     || soap_put_ns__junks(soap, &soap_tmp_ns__junks, "ns:junks", "") 
     39     || soap_body_end_out(soap) 
     40     || soap_envelope_end_out(soap) 
     41     || soap_end_send(soap)) 
     42        return soap_closesock(soap); 
     43    soap_default_ns__myStruct(soap, &result); 
     44    if (soap_begin_recv(soap) 
     45     || soap_envelope_begin_in(soap) 
     46     || soap_recv_header(soap) 
     47     || soap_body_begin_in(soap)) 
     48        return soap_closesock(soap); 
     49    soap_get_ns__myStruct(soap, &result, "ns:myStruct", ""); 
     50    if (soap->error) 
     51    {   if (soap->error == SOAP_TAG_MISMATCH && soap->level == 2) 
     52            return soap_recv_fault(soap); 
     53        return soap_closesock(soap); 
     54    } 
     55    if (soap_body_end_in(soap) 
     56     || soap_envelope_end_in(soap) 
     57     || soap_end_recv(soap)) 
     58        return soap_closesock(soap); 
     59    return soap_closesock(soap); 
     60} 
     61 
     62SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns__sendBase64(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *data, int encodedLength, int decodedLength, struct s &result) 
     63{   struct ns__sendBase64 soap_tmp_ns__sendBase64; 
     64    if (!soap_endpoint) 
     65        soap_endpoint = "http://192.168.0.131:1234"; 
     66    soap->encodingStyle = ""; 
     67    soap_tmp_ns__sendBase64.data = data; 
     68    soap_tmp_ns__sendBase64.encodedLength = encodedLength; 
     69    soap_tmp_ns__sendBase64.decodedLength = decodedLength; 
     70    soap_begin(soap); 
     71    soap_serializeheader(soap); 
     72    soap_serialize_ns__sendBase64(soap, &soap_tmp_ns__sendBase64); 
     73    if (soap_begin_count(soap)) 
     74        return soap->error; 
     75    if (soap->mode & SOAP_IO_LENGTH) 
     76    {   if (soap_envelope_begin_out(soap) 
     77         || soap_putheader(soap) 
     78         || soap_body_begin_out(soap) 
     79         || soap_put_ns__sendBase64(soap, &soap_tmp_ns__sendBase64, "ns:sendBase64", "") 
     80         || soap_body_end_out(soap) 
     81         || soap_envelope_end_out(soap)) 
     82             return soap->error; 
     83    } 
     84    if (soap_end_count(soap)) 
     85        return soap->error; 
     86    if (soap_connect(soap, soap_endpoint, soap_action) 
     87     || soap_envelope_begin_out(soap) 
     88     || soap_putheader(soap) 
     89     || soap_body_begin_out(soap) 
     90     || soap_put_ns__sendBase64(soap, &soap_tmp_ns__sendBase64, "ns:sendBase64", "") 
    3991     || soap_body_end_out(soap) 
    4092     || soap_envelope_end_out(soap) 
  • capture-mod/trunk/soapH.h

    r1729 r1743  
    4949 
    5050#ifndef SOAP_TYPE_double 
    51 #define SOAP_TYPE_double (23
     51#define SOAP_TYPE_double (25
    5252#endif 
    5353SOAP_FMAC3 void SOAP_FMAC4 soap_default_double(struct soap*, double *); 
     
    6060 
    6161#ifndef SOAP_TYPE_SOAP_ENV__Fault 
    62 #define SOAP_TYPE_SOAP_ENV__Fault (35
     62#define SOAP_TYPE_SOAP_ENV__Fault (37
    6363#endif 
    6464SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Fault(struct soap*, struct SOAP_ENV__Fault *); 
     
    7878 
    7979#ifndef SOAP_TYPE_SOAP_ENV__Reason 
    80 #define SOAP_TYPE_SOAP_ENV__Reason (34
     80#define SOAP_TYPE_SOAP_ENV__Reason (36
    8181#endif 
    8282SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *); 
     
    9696 
    9797#ifndef SOAP_TYPE_SOAP_ENV__Detail 
    98 #define SOAP_TYPE_SOAP_ENV__Detail (31
     98#define SOAP_TYPE_SOAP_ENV__Detail (33
    9999#endif 
    100100SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *); 
     
    114114 
    115115#ifndef SOAP_TYPE_SOAP_ENV__Code 
    116 #define SOAP_TYPE_SOAP_ENV__Code (29
     116#define SOAP_TYPE_SOAP_ENV__Code (31
    117117#endif 
    118118SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *); 
     
    132132 
    133133#ifndef SOAP_TYPE_SOAP_ENV__Header 
    134 #define SOAP_TYPE_SOAP_ENV__Header (28
     134#define SOAP_TYPE_SOAP_ENV__Header (30
    135135#endif 
    136136SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Header(struct soap*, struct SOAP_ENV__Header *); 
     
    148148 
    149149#ifndef SOAP_TYPE_ns__sub 
    150 #define SOAP_TYPE_ns__sub (27
     150#define SOAP_TYPE_ns__sub (29
    151151#endif 
    152152SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__sub(struct soap*, struct ns__sub *); 
     
    162162 
    163163#ifndef SOAP_TYPE_ns__subResponse 
    164 #define SOAP_TYPE_ns__subResponse (26
     164#define SOAP_TYPE_ns__subResponse (28
    165165#endif 
    166166SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__subResponse(struct soap*, struct ns__subResponse *); 
     
    176176 
    177177#ifndef SOAP_TYPE_ns__visit 
    178 #define SOAP_TYPE_ns__visit (22
     178#define SOAP_TYPE_ns__visit (24
    179179#endif 
    180180SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__visit(struct soap*, struct ns__visit *); 
     
    190190 
    191191#ifndef SOAP_TYPE_ns__visitResponse 
    192 #define SOAP_TYPE_ns__visitResponse (21
     192#define SOAP_TYPE_ns__visitResponse (23
    193193#endif 
    194194SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__visitResponse(struct soap*, struct ns__visitResponse *); 
     
    204204 
    205205#ifndef SOAP_TYPE_ns__ping 
    206 #define SOAP_TYPE_ns__ping (19
     206#define SOAP_TYPE_ns__ping (21
    207207#endif 
    208208SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__ping(struct soap*, struct ns__ping *); 
     
    218218 
    219219#ifndef SOAP_TYPE_ns__pingResponse 
    220 #define SOAP_TYPE_ns__pingResponse (18
     220#define SOAP_TYPE_ns__pingResponse (20
    221221#endif 
    222222SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__pingResponse(struct soap*, struct ns__pingResponse *); 
     
    232232 
    233233#ifndef SOAP_TYPE_ns__add 
    234 #define SOAP_TYPE_ns__add (15
     234#define SOAP_TYPE_ns__add (17
    235235#endif 
    236236SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__add(struct soap*, struct ns__add *); 
     
    246246 
    247247#ifndef SOAP_TYPE_ns__addResponse 
    248 #define SOAP_TYPE_ns__addResponse (14
     248#define SOAP_TYPE_ns__addResponse (16
    249249#endif 
    250250SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__addResponse(struct soap*, struct ns__addResponse *); 
     
    259259SOAP_FMAC3 void SOAP_FMAC4 soap_copy_ns__addResponse(struct soap*, int, int, void*, size_t, const void*, size_t); 
    260260 
     261#ifndef SOAP_TYPE_ns__sendBase64 
     262#define SOAP_TYPE_ns__sendBase64 (13) 
     263#endif 
     264SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__sendBase64(struct soap*, struct ns__sendBase64 *); 
     265SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__sendBase64(struct soap*, const struct ns__sendBase64 *); 
     266SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__sendBase64(struct soap*, const struct ns__sendBase64 *, const char*, const char*); 
     267SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__sendBase64(struct soap*, const char*, int, const struct ns__sendBase64 *, const char*); 
     268SOAP_FMAC3 struct ns__sendBase64 * SOAP_FMAC4 soap_get_ns__sendBase64(struct soap*, struct ns__sendBase64 *, const char*, const char*); 
     269SOAP_FMAC3 struct ns__sendBase64 * SOAP_FMAC4 soap_in_ns__sendBase64(struct soap*, const char*, struct ns__sendBase64 *, const char*); 
     270SOAP_FMAC5 struct ns__sendBase64 * SOAP_FMAC6 soap_new_ns__sendBase64(struct soap*, int); 
     271SOAP_FMAC5 void SOAP_FMAC6 soap_delete_ns__sendBase64(struct soap*, struct ns__sendBase64*); 
     272SOAP_FMAC3 struct ns__sendBase64 * SOAP_FMAC4 soap_instantiate_ns__sendBase64(struct soap*, int, const char*, const char*, size_t*); 
     273SOAP_FMAC3 void SOAP_FMAC4 soap_copy_ns__sendBase64(struct soap*, int, int, void*, size_t, const void*, size_t); 
     274 
    261275#ifndef SOAP_TYPE_ns__junks 
    262276#define SOAP_TYPE_ns__junks (11) 
     
    304318 
    305319#ifndef SOAP_TYPE_PointerToSOAP_ENV__Reason 
    306 #define SOAP_TYPE_PointerToSOAP_ENV__Reason (37
     320#define SOAP_TYPE_PointerToSOAP_ENV__Reason (39
    307321#endif 
    308322SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *const*); 
     
    317331 
    318332#ifndef SOAP_TYPE_PointerToSOAP_ENV__Detail 
    319 #define SOAP_TYPE_PointerToSOAP_ENV__Detail (36
     333#define SOAP_TYPE_PointerToSOAP_ENV__Detail (38
    320334#endif 
    321335SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *const*); 
     
    330344 
    331345#ifndef SOAP_TYPE_PointerToSOAP_ENV__Code 
    332 #define SOAP_TYPE_PointerToSOAP_ENV__Code (30
     346#define SOAP_TYPE_PointerToSOAP_ENV__Code (32
    333347#endif 
    334348SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *const*); 
     
    341355 
    342356#ifndef SOAP_TYPE_PointerTostring 
    343 #define SOAP_TYPE_PointerTostring (16
     357#define SOAP_TYPE_PointerTostring (18
    344358#endif 
    345359SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTostring(struct soap*, char **const*); 
  • capture-mod/trunk/soapServer.cpp

    r1729 r1743  
    77#include "soapH.h" 
    88 
    9 SOAP_SOURCE_STAMP("@(#) soapServer.cpp ver 2.7.10 2008-08-12 09:29:10 GMT") 
     9SOAP_SOURCE_STAMP("@(#) soapServer.cpp ver 2.7.10 2008-08-18 03:32:54 GMT") 
    1010 
    1111 
     
    7676    if (!soap_match_tag(soap, soap->tag, "ns:junks")) 
    7777        return soap_serve_ns__junks(soap); 
     78    if (!soap_match_tag(soap, soap->tag, "ns:sendBase64")) 
     79        return soap_serve_ns__sendBase64(soap); 
    7880    if (!soap_match_tag(soap, soap->tag, "ns:add")) 
    7981        return soap_serve_ns__add(soap); 
     
    129131} 
    130132 
     133SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns__sendBase64(struct soap *soap) 
     134{   struct ns__sendBase64 soap_tmp_ns__sendBase64; 
     135    struct s result; 
     136    soap_default_ns__myStruct(soap, &result); 
     137    soap_default_ns__sendBase64(soap, &soap_tmp_ns__sendBase64); 
     138    soap->encodingStyle = ""; 
     139    if (!soap_get_ns__sendBase64(soap, &soap_tmp_ns__sendBase64, "ns:sendBase64", NULL)) 
     140        return soap->error; 
     141    if (soap_body_end_in(soap) 
     142     || soap_envelope_end_in(soap) 
     143     || soap_end_recv(soap)) 
     144        return soap->error; 
     145    soap->error = ns__sendBase64(soap, soap_tmp_ns__sendBase64.data, soap_tmp_ns__sendBase64.encodedLength, soap_tmp_ns__sendBase64.decodedLength, result); 
     146    if (soap->error) 
     147        return soap->error; 
     148    soap_serializeheader(soap); 
     149    soap_serialize_ns__myStruct(soap, &result); 
     150    if (soap_begin_count(soap)) 
     151        return soap->error; 
     152    if (soap->mode & SOAP_IO_LENGTH) 
     153    {   if (soap_envelope_begin_out(soap) 
     154         || soap_putheader(soap) 
     155         || soap_body_begin_out(soap) 
     156         || soap_put_ns__myStruct(soap, &result, "ns:myStruct", "") 
     157         || soap_body_end_out(soap) 
     158         || soap_envelope_end_out(soap)) 
     159             return soap->error; 
     160    }; 
     161    if (soap_end_count(soap) 
     162     || soap_response(soap, SOAP_OK) 
     163     || soap_envelope_begin_out(soap) 
     164     || soap_putheader(soap) 
     165     || soap_body_begin_out(soap) 
     166     || soap_put_ns__myStruct(soap, &result, "ns:myStruct", "") 
     167     || soap_body_end_out(soap) 
     168     || soap_envelope_end_out(soap) 
     169     || soap_end_send(soap)) 
     170        return soap->error; 
     171    return soap_closesock(soap); 
     172} 
     173 
    131174SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns__add(struct soap *soap) 
    132175{   struct ns__add soap_tmp_ns__add; 
  • capture-mod/trunk/soapStub.h

    r1729 r1743  
    4949#endif 
    5050 
     51#ifndef SOAP_TYPE_ns__sendBase64 
     52#define SOAP_TYPE_ns__sendBase64 (13) 
     53/* ns:sendBase64 */ 
     54struct ns__sendBase64 
     55{ 
     56public: 
     57    char *data; /* optional element of type xsd:string */ 
     58    int encodedLength;  /* required element of type xsd:int */ 
     59    int decodedLength;  /* required element of type xsd:int */ 
     60}; 
     61#endif 
     62 
    5163#ifndef SOAP_TYPE_ns__addResponse 
    52 #define SOAP_TYPE_ns__addResponse (14
     64#define SOAP_TYPE_ns__addResponse (16
    5365/* ns:addResponse */ 
    5466struct ns__addResponse 
     
    6072 
    6173#ifndef SOAP_TYPE_ns__add 
    62 #define SOAP_TYPE_ns__add (15
     74#define SOAP_TYPE_ns__add (17
    6375/* ns:add */ 
    6476struct ns__add 
     
    7183 
    7284#ifndef SOAP_TYPE_ns__pingResponse 
    73 #define SOAP_TYPE_ns__pingResponse (18
     85#define SOAP_TYPE_ns__pingResponse (20
    7486/* ns:pingResponse */ 
    7587struct ns__pingResponse 
     
    8193 
    8294#ifndef SOAP_TYPE_ns__ping 
    83 #define SOAP_TYPE_ns__ping (19
     95#define SOAP_TYPE_ns__ping (21
    8496/* ns:ping */ 
    8597struct ns__ping 
     
    91103 
    92104#ifndef SOAP_TYPE_ns__visitResponse 
    93 #define SOAP_TYPE_ns__visitResponse (21
     105#define SOAP_TYPE_ns__visitResponse (23
    94106/* ns:visitResponse */ 
    95107struct ns__visitResponse 
     
    101113 
    102114#ifndef SOAP_TYPE_ns__visit 
    103 #define SOAP_TYPE_ns__visit (22
     115#define SOAP_TYPE_ns__visit (24
    104116/* ns:visit */ 
    105117struct ns__visit 
     
    111123 
    112124#ifndef SOAP_TYPE_ns__subResponse 
    113 #define SOAP_TYPE_ns__subResponse (26
     125#define SOAP_TYPE_ns__subResponse (28
    114126/* ns:subResponse */ 
    115127struct ns__subResponse 
     
    121133 
    122134#ifndef SOAP_TYPE_ns__sub 
    123 #define SOAP_TYPE_ns__sub (27
     135#define SOAP_TYPE_ns__sub (29
    124136/* ns:sub */ 
    125137struct ns__sub 
     
    132144 
    133145#ifndef SOAP_TYPE_SOAP_ENV__Header 
    134 #define SOAP_TYPE_SOAP_ENV__Header (28
     146#define SOAP_TYPE_SOAP_ENV__Header (30
    135147/* SOAP Header: */ 
    136148struct SOAP_ENV__Header 
     
    144156 
    145157#ifndef SOAP_TYPE_SOAP_ENV__Code 
    146 #define SOAP_TYPE_SOAP_ENV__Code (29
     158#define SOAP_TYPE_SOAP_ENV__Code (31
    147159/* SOAP Fault Code: */ 
    148160struct SOAP_ENV__Code 
     
    155167 
    156168#ifndef SOAP_TYPE_SOAP_ENV__Detail 
    157 #define SOAP_TYPE_SOAP_ENV__Detail (31
     169#define SOAP_TYPE_SOAP_ENV__Detail (33
    158170/* SOAP-ENV:Detail */ 
    159171struct SOAP_ENV__Detail 
     
    167179 
    168180#ifndef SOAP_TYPE_SOAP_ENV__Reason 
    169 #define SOAP_TYPE_SOAP_ENV__Reason (34
     181#define SOAP_TYPE_SOAP_ENV__Reason (36
    170182/* SOAP-ENV:Reason */ 
    171183struct SOAP_ENV__Reason 
     
    177189 
    178190#ifndef SOAP_TYPE_SOAP_ENV__Fault 
    179 #define SOAP_TYPE_SOAP_ENV__Fault (35
     191#define SOAP_TYPE_SOAP_ENV__Fault (37
    180192/* SOAP Fault: */ 
    181193struct SOAP_ENV__Fault 
     
    246258SOAP_FMAC5 int SOAP_FMAC6 ns__junks(struct soap*, char *a, struct s &result); 
    247259 
     260SOAP_FMAC5 int SOAP_FMAC6 ns__sendBase64(struct soap*, char *data, int encodedLength, int decodedLength, struct s &result); 
     261 
    248262SOAP_FMAC5 int SOAP_FMAC6 ns__add(struct soap*, int a, int b, int &result); 
    249263 
     
    263277SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns__junks(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *a, struct s &result); 
    264278 
     279SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns__sendBase64(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *data, int encodedLength, int decodedLength, struct s &result); 
     280 
    265281SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns__add(struct soap *soap, const char *soap_endpoint, const char *soap_action, int a, int b, int &result); 
    266282 
     
    283299SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns__junks(struct soap*); 
    284300 
     301SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns__sendBase64(struct soap*); 
     302 
    285303SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns__add(struct soap*); 
    286304