Changeset 1749

Show
Ignore:
Timestamp:
08/19/08 14:44:05 (3 months ago)
Author:
xkovah
Message:

Here's what I know at this point.
1. SOAP::Lite doesn't seem to have an obvious way to send SwA, but it seems like it might receive it.
2. I tried to use SOAP::Lite::Packager::MIME to send an attachment on the connection. However, gsoap dies with

Error 6 fault: SOAP-ENV:Client [no subcode]
"No XML element tag"
Detail: [no detail]

3. The leading theory is the fact that the beginning of the connection looks like this:


Content-Type: Multipart/Related; type="text/xml"; start="<main_envelope>";
boundary="—————=_1219127853-1120-0"; cha
rset=utf-8
SOAPAction: "capture#sendMIME"

This is a multi-part message in MIME format…


Content-Type: text/xml
Content-Disposition: inline
Content-Location: /main_envelope

Note that the "This is a multi-part message…" doesn't appear to be wrapped in either a MIME chunk, or XML
tags.

4. Also, I tried shipping binary data in a char array, and I see that it's automatically base64ing it (because
of auto-typing I believe),
and setting its type to <data xsi:type="xsd:base64Binary"> (as opposed to <data
xsi:type="xsd:string">abcdefg</data>)

Files:

Legend:

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

    r1743 r1749  
    104104{ 
    105105    printf("in ns__junks\n"); 
    106     ns__myStruct bob
    107     bob.first = "bob"; 
    108     bob.last = "dole"; 
    109     result = bob
     106    ns__myStruct x
     107    x.first = "a"; 
     108    x.last = "b"; 
     109    result = x
    110110 
    111111    return SOAP_OK; 
     
    115115    printf("in ns__sendBase64\n"); 
    116116 
     117    printf("encodedLength = %d, decodedLength = %d, data[0][1][2][3] = %c%c%c%c\n", encodedLength, decodedLength, 
     118        data[0], data[1], data[2], data[3]); 
     119 
     120    HANDLE myHandle = CreateFileA("F:\\tmp\\soapcpp2.exe", (GENERIC_READ | GENERIC_WRITE), 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); 
     121    if(myHandle == INVALID_HANDLE_VALUE){ 
     122        printf("couldn't open the file. Exiting\n"); 
     123        return SOAP_ERR; 
     124    } 
     125    DWORD numWrote; 
     126    BOOL b = WriteFile(myHandle, data, decodedLength, &numWrote, NULL); 
     127    if(b){ 
     128        printf("Wrote %d bytes of data\n", numWrote); 
     129    } 
     130    CloseHandle(myHandle); 
     131 
     132    ns__myStruct x; 
     133    x.first = "a"; 
     134    x.last = "b"; 
     135    result = x; 
     136 
     137    return SOAP_OK; 
     138 
     139} 
     140 
     141int ns__sendMIME(struct soap *soap, int magicNumber, int &result){ 
    117142    struct soap_multipart * attachment; 
    118     for(attachment = soap.mime.list; attachment; attachment = attachment->next){ 
     143    for(attachment = soap->mime.list; attachment; attachment = attachment->next){ 
    119144       printf("MIME attachment:\n");  
    120145       printf("Memory=%p\n", (*attachment).ptr);  
     
    124149       printf("ID=%s\n", (*attachment).id?(*attachment).id:"null");  
    125150       printf("Location=%s\n", (*attachment).location?(*attachment).location:"null");  
    126        printf("Description=%s\n", (*attachment).description?(*attachment).description:"null 
     151       printf("Description=%s\n", (*attachment).description?(*attachment).description:"null"); 
    127152    } 
    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]); 
    136153 
    137  
    138     ns__myStruct bob; 
    139     bob.first = "bob"; 
    140     bob.last = "dole"; 
    141     result = bob; 
     154    printf("magicNumber = %#x\n", magicNumber); 
     155    if(magicNumber == 123){ 
     156        result = 42; 
     157    } 
     158    else{ 
     159        result = 0; 
     160    } 
    142161 
    143162    return SOAP_OK; 
    144  
    145163} 
    146  
  • capture-mod/trunk/capture.wsdl

    r1743 r1749  
    5757</message> 
    5858 
     59<message name="sendMIMERequest"> 
     60 <part name="magicNumber" type="xsd:int"/> 
     61</message> 
     62 
     63<message name="sendMIMEResponse"> 
     64 <part name="result" type="xsd:int"/> 
     65</message> 
     66 
    5967<message name="addRequest"> 
    6068 <part name="a" type="xsd:int"/> 
     
    102110  <output message="tns:s"/> 
    103111 </operation> 
     112 <operation name="sendMIME"> 
     113  <documentation>Service definition of function ns__sendMIME</documentation> 
     114  <input message="tns:sendMIMERequest"/> 
     115  <output message="tns:sendMIMEResponse"/> 
     116 </operation> 
    104117 <operation name="add"> 
    105118  <documentation>Service definition of function ns__add</documentation> 
     
    136149 </operation> 
    137150 <operation name="sendBase64"> 
     151  <SOAP:operation style="rpc" soapAction=""/> 
     152  <input> 
     153     <SOAP:body use="encoded" namespace="capture" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> 
     154  </input> 
     155  <output> 
     156     <SOAP:body use="encoded" namespace="capture" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> 
     157  </output> 
     158 </operation> 
     159 <operation name="sendMIME"> 
    138160  <SOAP:operation style="rpc" soapAction=""/> 
    139161  <input> 
  • capture-mod/trunk/captureGSOAP.h

    r1743 r1749  
    1616int ns__junks(char * a, ns__myStruct &result); 
    1717int ns__sendBase64(char * data, int encodedLength, int decodedLength, ns__myStruct &result); 
     18int ns__sendMIME(int magicNumber, int &result); 
    1819 
    1920int ns__add(int a, int b, int &result);  
  • capture-mod/trunk/client.pl

    r1743 r1749  
    1010 
    1111#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 #
     12open(A, $ARGV[0]) or die "Can't open $ARGV[0]\n"; 
     13$fullfile = ""; 
     14while(<A>){ 
     15  $fullfile .= $_; 
     16
    1717#$encoded = encode_base64($fullfile); 
    1818#print "$fullfile\n"; 
    1919#print "$encoded\n"; 
    20 #@statz = stat($ARGV[0]); 
    21 #$decodedLength = $statz[7]; 
     20@statz = stat($ARGV[0]); 
     21$decodedLength = $statz[7]; 
     22if(length($fullfile) != $decodedLength){ 
     23print "What tha...\n"; 
     24
    2225#$encodedLength = length($encoded); 
    2326#print "File size = " . $statz[7] . "\n"; 
     
    3235 
    3336#$base64Data = SOAP::Data->name(data => $encoded, encodedLength => $encodedLength, decodedLength => $decodedLength); 
    34 $base64Data1 = SOAP::Data->name(data => $encoded); 
    35 $base64Data2 = SOAP::Data->name(encodedLength => $encodedLength); 
     37#$base64Data1 = SOAP::Data->name(data => $fullfile); 
     38$base64Data1 = SOAP::Data->name(data => "abcdefg"); 
     39$base64Data2 = SOAP::Data->name(encodedLength => 0); 
     40#$base64Data2 = SOAP::Data->name(encodedLength => 7); 
    3641$base64Data3 = SOAP::Data->name(decodedLength => $decodedLength); 
     42#$base64Data3 = SOAP::Data->name(decodedLength => 8); 
    3743 
    3844$pingDataA = SOAP::Data->name(a => "http://www.cnn.com"); 
     
    5662#    -> result; 
    5763 
     64print "\ncalling client setup\n\n"; 
     65#    -> packager(SOAP::Lite::Packager::MIME->new) 
     66#    -> parts([$ent]) 
     67$client = SOAP::Lite 
     68    -> proxy('http://192.168.0.131:1234/') 
     69    -> ns('capture'); 
     70 
    5871print "\ncalling sendBase64\n\n"; 
    59 $res = SOAP::Lite 
    60     -> packager(SOAP::Lite::Packager::MIME->new) 
    61     -> parts([$ent]) 
    62     -> proxy('http://192.168.0.131:1234/') 
    63     -> ns('capture') 
    64     -> sendBase64($base64Data1, $base64Data2, $base64Data3) 
    65     -> result; 
     72$result = $client->sendBase64($base64Data1, $base64Data2, $base64Data3); 
     73#$result = $client->sendMIME(31337); 
    6674 
    67 print Dumper($res); 
     75#print Dumper($result); 
    6876 
    6977print "calling junks\n"; 
  • capture-mod/trunk/soapC.cpp

    r1743 r1749  
    88#include "soapH.h" 
    99 
    10 SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.7.10 2008-08-18 03:32:54 GMT") 
     10SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.7.10 2008-08-18 06:59:56 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__sendMIME: 
     181        return soap_in_ns__sendMIME(soap, NULL, NULL, "ns:sendMIME"); 
     182    case SOAP_TYPE_ns__sendMIMEResponse: 
     183        return soap_in_ns__sendMIMEResponse(soap, NULL, NULL, "ns:sendMIMEResponse"); 
    180184    case SOAP_TYPE_ns__sendBase64: 
    181185        return soap_in_ns__sendBase64(soap, NULL, NULL, "ns:sendBase64"); 
     
    240244        {   *type = SOAP_TYPE_ns__addResponse; 
    241245            return soap_in_ns__addResponse(soap, NULL, NULL, NULL); 
     246        } 
     247        if (!soap_match_tag(soap, t, "ns:sendMIME")) 
     248        {   *type = SOAP_TYPE_ns__sendMIME; 
     249            return soap_in_ns__sendMIME(soap, NULL, NULL, NULL); 
     250        } 
     251        if (!soap_match_tag(soap, t, "ns:sendMIMEResponse")) 
     252        {   *type = SOAP_TYPE_ns__sendMIMEResponse; 
     253            return soap_in_ns__sendMIMEResponse(soap, NULL, NULL, NULL); 
    242254        } 
    243255        if (!soap_match_tag(soap, t, "ns:sendBase64")) 
     
    357369    case SOAP_TYPE_ns__addResponse: 
    358370        return soap_out_ns__addResponse(soap, tag, id, (const struct ns__addResponse *)ptr, "ns:addResponse"); 
     371    case SOAP_TYPE_ns__sendMIME: 
     372        return soap_out_ns__sendMIME(soap, tag, id, (const struct ns__sendMIME *)ptr, "ns:sendMIME"); 
     373    case SOAP_TYPE_ns__sendMIMEResponse: 
     374        return soap_out_ns__sendMIMEResponse(soap, tag, id, (const struct ns__sendMIMEResponse *)ptr, "ns:sendMIMEResponse"); 
    359375    case SOAP_TYPE_ns__sendBase64: 
    360376        return soap_out_ns__sendBase64(soap, tag, id, (const struct ns__sendBase64 *)ptr, "ns:sendBase64"); 
     
    414430        soap_serialize_ns__addResponse(soap, (const struct ns__addResponse *)ptr); 
    415431        break; 
     432    case SOAP_TYPE_ns__sendMIME: 
     433        soap_serialize_ns__sendMIME(soap, (const struct ns__sendMIME *)ptr); 
     434        break; 
     435    case SOAP_TYPE_ns__sendMIMEResponse: 
     436        soap_serialize_ns__sendMIMEResponse(soap, (const struct ns__sendMIMEResponse *)ptr); 
     437        break; 
    416438    case SOAP_TYPE_ns__sendBase64: 
    417439        soap_serialize_ns__sendBase64(soap, (const struct ns__sendBase64 *)ptr); 
     
    453475    case SOAP_TYPE_ns__sendBase64: 
    454476        return (void*)soap_instantiate_ns__sendBase64(soap, -1, type, arrayType, n); 
     477    case SOAP_TYPE_ns__sendMIMEResponse: 
     478        return (void*)soap_instantiate_ns__sendMIMEResponse(soap, -1, type, arrayType, n); 
     479    case SOAP_TYPE_ns__sendMIME: 
     480        return (void*)soap_instantiate_ns__sendMIME(soap, -1, type, arrayType, n); 
    455481    case SOAP_TYPE_ns__addResponse: 
    456482        return (void*)soap_instantiate_ns__addResponse(soap, -1, type, arrayType, n); 
     
    515541        else 
    516542            delete[] (struct ns__sendBase64*)p->ptr; 
     543        break; 
     544    case SOAP_TYPE_ns__sendMIMEResponse: 
     545        if (p->size < 0) 
     546            delete (struct ns__sendMIMEResponse*)p->ptr; 
     547        else 
     548            delete[] (struct ns__sendMIMEResponse*)p->ptr; 
     549        break; 
     550    case SOAP_TYPE_ns__sendMIME: 
     551        if (p->size < 0) 
     552            delete (struct ns__sendMIME*)p->ptr; 
     553        else 
     554            delete[] (struct ns__sendMIME*)p->ptr; 
    517555        break; 
    518556    case SOAP_TYPE_ns__addResponse: 
     
    22732311} 
    22742312 
     2313SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__sendMIME(struct soap *soap, struct ns__sendMIME *a) 
     2314{ 
     2315    (void)soap; (void)a; /* appease -Wall -Werror */ 
     2316    soap_default_int(soap, &a->magicNumber); 
     2317} 
     2318 
     2319SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__sendMIME(struct soap *soap, const struct ns__sendMIME *a) 
     2320{ 
     2321    (void)soap; (void)a; /* appease -Wall -Werror */ 
     2322} 
     2323 
     2324SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__sendMIME(struct soap *soap, const struct ns__sendMIME *a, const char *tag, const char *type) 
     2325{ 
     2326    register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__sendMIME); 
     2327    if (soap_out_ns__sendMIME(soap, tag, id, a, type)) 
     2328        return soap->error; 
     2329    return soap_putindependent(soap); 
     2330} 
     2331 
     2332SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__sendMIME(struct soap *soap, const char *tag, int id, const struct ns__sendMIME *a, const char *type) 
     2333{ 
     2334    if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__sendMIME), type)) 
     2335        return soap->error; 
     2336    if (soap_out_int(soap, "magicNumber", -1, &a->magicNumber, "")) 
     2337        return soap->error; 
     2338    return soap_element_end_out(soap, tag); 
     2339} 
     2340 
     2341SOAP_FMAC3 struct ns__sendMIME * SOAP_FMAC4 soap_get_ns__sendMIME(struct soap *soap, struct ns__sendMIME *p, const char *tag, const char *type) 
     2342{ 
     2343    if ((p = soap_in_ns__sendMIME(soap, tag, p, type))) 
     2344        if (soap_getindependent(soap)) 
     2345            return NULL; 
     2346    return p; 
     2347} 
     2348 
     2349SOAP_FMAC3 struct ns__sendMIME * SOAP_FMAC4 soap_in_ns__sendMIME(struct soap *soap, const char *tag, struct ns__sendMIME *a, const char *type) 
     2350{ 
     2351    short soap_flag_magicNumber = 1; 
     2352    if (soap_element_begin_in(soap, tag, 0, type)) 
     2353        return NULL; 
     2354    a = (struct ns__sendMIME *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__sendMIME, sizeof(struct ns__sendMIME), 0, NULL, NULL, NULL); 
     2355    if (!a) 
     2356        return NULL; 
     2357    soap_default_ns__sendMIME(soap, a); 
     2358    if (soap->body && !*soap->href) 
     2359    { 
     2360        for (;;) 
     2361        {   soap->error = SOAP_TAG_MISMATCH; 
     2362            if (soap_flag_magicNumber && soap->error == SOAP_TAG_MISMATCH) 
     2363                if (soap_in_int(soap, "magicNumber", &a->magicNumber, "xsd:int")) 
     2364                {   soap_flag_magicNumber--; 
     2365                    continue; 
     2366                } 
     2367            if (soap->error == SOAP_TAG_MISMATCH) 
     2368                soap->error = soap_ignore_element(soap); 
     2369            if (soap->error == SOAP_NO_TAG) 
     2370                break; 
     2371            if (soap->error) 
     2372                return NULL; 
     2373        } 
     2374        if (soap_element_end_in(soap, tag)) 
     2375            return NULL; 
     2376    } 
     2377    else 
     2378    {   a = (struct ns__sendMIME *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns__sendMIME, 0, sizeof(struct ns__sendMIME), 0, NULL); 
     2379        if (soap->body && soap_element_end_in(soap, tag)) 
     2380            return NULL; 
     2381    } 
     2382    if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_magicNumber > 0)) 
     2383    {   soap->error = SOAP_OCCURS; 
     2384        return NULL; 
     2385    } 
     2386    return a; 
     2387} 
     2388 
     2389SOAP_FMAC5 struct ns__sendMIME * SOAP_FMAC6 soap_new_ns__sendMIME(struct soap *soap, int n) 
     2390{   return soap_instantiate_ns__sendMIME(soap, n, NULL, NULL, NULL); 
     2391} 
     2392 
     2393SOAP_FMAC5 void SOAP_FMAC6 soap_delete_ns__sendMIME(struct soap *soap, struct ns__sendMIME *p) 
     2394{   soap_delete(soap, p); 
     2395} 
     2396 
     2397SOAP_FMAC3 struct ns__sendMIME * SOAP_FMAC4 soap_instantiate_ns__sendMIME(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size) 
     2398{ 
     2399    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_ns__sendMIME(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:"")); 
     2400    struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_ns__sendMIME, n, soap_fdelete); 
     2401    if (!cp) 
     2402        return NULL; 
     2403    if (n < 0) 
     2404    {   cp->ptr = (void*)new struct ns__sendMIME; 
     2405        if (size) 
     2406            *size = sizeof(struct ns__sendMIME); 
     2407    } 
     2408    else 
     2409    {   cp->ptr = (void*)new struct ns__sendMIME[n]; 
     2410        if (!cp->ptr) 
     2411        {   soap->error = SOAP_EOM; 
     2412            return NULL; 
     2413        } 
     2414        if (size) 
     2415            *size = n * sizeof(struct ns__sendMIME); 
     2416    } 
     2417        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr)); 
     2418    return (struct ns__sendMIME*)cp->ptr; 
     2419} 
     2420SOAP_FMAC3 void SOAP_FMAC4 soap_copy_ns__sendMIME(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n) 
     2421{ 
     2422    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct ns__sendMIME %p -> %p\n", q, p)); 
     2423    *(struct ns__sendMIME*)p = *(struct ns__sendMIME*)q; 
     2424} 
     2425 
     2426SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__sendMIMEResponse(struct soap *soap, struct ns__sendMIMEResponse *a) 
     2427{ 
     2428    (void)soap; (void)a; /* appease -Wall -Werror */ 
     2429    soap_default_int(soap, &a->result); 
     2430} 
     2431 
     2432SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__sendMIMEResponse(struct soap *soap, const struct ns__sendMIMEResponse *a) 
     2433{ 
     2434    (void)soap; (void)a; /* appease -Wall -Werror */ 
     2435} 
     2436 
     2437SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__sendMIMEResponse(struct soap *soap, const struct ns__sendMIMEResponse *a, const char *tag, const char *type) 
     2438{ 
     2439    register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__sendMIMEResponse); 
     2440    if (soap_out_ns__sendMIMEResponse(soap, tag, id, a, type)) 
     2441        return soap->error; 
     2442    return soap_putindependent(soap); 
     2443} 
     2444 
     2445SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__sendMIMEResponse(struct soap *soap, const char *tag, int id, const struct ns__sendMIMEResponse *a, const char *type) 
     2446{ 
     2447    if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__sendMIMEResponse), type)) 
     2448        return soap->error; 
     2449    if (soap_out_int(soap, "result", -1, &a->result, "")) 
     2450        return soap->error; 
     2451    return soap_element_end_out(soap, tag); 
     2452} 
     2453 
     2454SOAP_FMAC3 struct ns__sendMIMEResponse * SOAP_FMAC4 soap_get_ns__sendMIMEResponse(struct soap *soap, struct ns__sendMIMEResponse *p, const char *tag, const char *type) 
     2455{ 
     2456    if ((p = soap_in_ns__sendMIMEResponse(soap, tag, p, type))) 
     2457        if (soap_getindependent(soap)) 
     2458            return NULL; 
     2459    return p; 
     2460} 
     2461 
     2462SOAP_FMAC3 struct ns__sendMIMEResponse * SOAP_FMAC4 soap_in_ns__sendMIMEResponse(struct soap *soap, const char *tag, struct ns__sendMIMEResponse *a, const char *type) 
     2463{ 
     2464    short soap_flag_result = 1; 
     2465    if (soap_element_begin_in(soap, tag, 0, type)) 
     2466        return NULL; 
     2467    a = (struct ns__sendMIMEResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__sendMIMEResponse, sizeof(struct ns__sendMIMEResponse), 0, NULL, NULL, NULL); 
     2468    if (!a) 
     2469        return NULL; 
     2470    soap_default_ns__sendMIMEResponse(soap, a); 
     2471    if (soap->body && !*soap->href) 
     2472    { 
     2473        for (;;) 
     2474        {   soap->error = SOAP_TAG_MISMATCH; 
     2475            if (soap_flag_result && soap->error == SOAP_TAG_MISMATCH) 
     2476                if (soap_in_int(soap, "result", &a->result, "xsd:int")) 
     2477                {   soap_flag_result--; 
     2478                    continue; 
     2479                } 
     2480            if (soap->error == SOAP_TAG_MISMATCH) 
     2481                soap->error = soap_ignore_element(soap); 
     2482            if (soap->error == SOAP_NO_TAG) 
     2483                break; 
     2484            if (soap->error) 
     2485                return NULL; 
     2486        } 
     2487        if (soap_element_end_in(soap, tag)) 
     2488            return NULL; 
     2489    } 
     2490    else 
     2491    {   a = (struct ns__sendMIMEResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns__sendMIMEResponse, 0, sizeof(struct ns__sendMIMEResponse), 0, NULL); 
     2492        if (soap->body && soap_element_end_in(soap, tag)) 
     2493            return NULL; 
     2494    } 
     2495    if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_result > 0)) 
     2496    {   soap->error = SOAP_OCCURS; 
     2497        return NULL; 
     2498    } 
     2499    return a; 
     2500} 
     2501 
     2502SOAP_FMAC5 struct ns__sendMIMEResponse * SOAP_FMAC6 soap_new_ns__sendMIMEResponse(struct soap *soap, int n) 
     2503{   return soap_instantiate_ns__sendMIMEResponse(soap, n, NULL, NULL, NULL); 
     2504} 
     2505 
     2506SOAP_FMAC5 void SOAP_FMAC6 soap_delete_ns__sendMIMEResponse(struct soap *soap, struct ns__sendMIMEResponse *p) 
     2507{   soap_delete(soap, p); 
     2508} 
     2509 
     2510SOAP_FMAC3 struct ns__sendMIMEResponse * SOAP_FMAC4 soap_instantiate_ns__sendMIMEResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size) 
     2511{ 
     2512    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_ns__sendMIMEResponse(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:"")); 
     2513    struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_ns__sendMIMEResponse, n, soap_fdelete); 
     2514    if (!cp) 
     2515        return NULL; 
     2516    if (n < 0) 
     2517    {   cp->ptr = (void*)new struct ns__sendMIMEResponse; 
     2518        if (size) 
     2519            *size = sizeof(struct ns__sendMIMEResponse); 
     2520    } 
     2521    else 
     2522    {   cp->ptr = (void*)new struct ns__sendMIMEResponse[n]; 
     2523        if (!cp->ptr) 
     2524        {   soap->error = SOAP_EOM; 
     2525            return NULL; 
     2526        } 
     2527        if (size) 
     2528            *size = n * sizeof(struct ns__sendMIMEResponse); 
     2529    } 
     2530        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr)); 
     2531    return (struct ns__sendMIMEResponse*)cp->ptr; 
     2532} 
     2533SOAP_FMAC3 void SOAP_FMAC4 soap_copy_ns__sendMIMEResponse(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n) 
     2534{ 
     2535    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct ns__sendMIMEResponse %p -> %p\n", q, p)); 
     2536    *(struct ns__sendMIMEResponse*)p = *(struct ns__sendMIMEResponse*)q; 
     2537} 
     2538 
    22752539SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__sendBase64(struct soap *soap, struct ns__sendBase64 *a) 
    22762540{ 
  • capture-mod/trunk/soapClient.cpp

    r1743 r1749  
    77#include "soapH.h" 
    88 
    9 SOAP_SOURCE_STAMP("@(#) soapClient.cpp ver 2.7.10 2008-08-18 03:32:54 GMT") 
     9SOAP_SOURCE_STAMP("@(#) soapClient.cpp ver 2.7.10 2008-08-18 06:59:56 GMT") 
    1010 
    1111 
     
    112112} 
    113113 
     114SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns__sendMIME(struct soap *soap, const char *soap_endpoint, const char *soap_action, int magicNumber, int &result) 
     115{   struct ns__sendMIME soap_tmp_ns__sendMIME; 
     116    struct ns__sendMIMEResponse *soap_tmp_ns__sendMIMEResponse; 
     117    if (!soap_endpoint) 
     118        soap_endpoint = "http://192.168.0.131:1234"; 
     119    soap->encodingStyle = ""; 
     120    soap_tmp_ns__sendMIME.magicNumber = magicNumber; 
     121    soap_begin(soap); 
     122    soap_serializeheader(soap); 
     123    soap_serialize_ns__sendMIME(soap, &soap_tmp_ns__sendMIME); 
     124    if (soap_begin_count(soap)) 
     125        return soap->error; 
     126    if (soap->mode & SOAP_IO_LENGTH) 
     127    {   if (soap_envelope_begin_out(soap) 
     128         || soap_putheader(soap) 
     129         || soap_body_begin_out(soap) 
     130         || soap_put_ns__sendMIME(soap, &soap_tmp_ns__sendMIME, "ns:sendMIME", "") 
     131         || soap_body_end_out(soap) 
     132         || soap_envelope_end_out(soap)) 
     133             return soap->error; 
     134    } 
     135    if (soap_end_count(soap)) 
     136        return soap->error; 
     137    if (soap_connect(soap, soap_endpoint, soap_action) 
     138     || soap_envelope_begin_out(soap) 
     139     || soap_putheader(soap) 
     140     || soap_body_begin_out(soap) 
     141     || soap_put_ns__sendMIME(soap, &soap_tmp_ns__sendMIME, "ns:sendMIME", "") 
     142     || soap_body_end_out(soap) 
     143     || soap_envelope_end_out(soap) 
     144     || soap_end_send(soap)) 
     145        return soap_closesock(soap); 
     146    soap_default_int(soap, &result); 
     147    if (soap_begin_recv(soap) 
     148     || soap_envelope_begin_in(soap) 
     149     || soap_recv_header(soap) 
     150     || soap_body_begin_in(soap)) 
     151        return soap_closesock(soap); 
     152    soap_tmp_ns__sendMIMEResponse = soap_get_ns__sendMIMEResponse(soap, NULL, "ns:sendMIMEResponse", ""); 
     153    if (soap->error) 
     154    {   if (soap->error == SOAP_TAG_MISMATCH && soap->level == 2) 
     155            return soap_recv_fault(soap); 
     156        return soap_closesock(soap); 
     157    } 
     158    if (soap_body_end_in(soap) 
     159     || soap_envelope_end_in(soap) 
     160     || soap_end_recv(soap)) 
     161        return soap_closesock(soap); 
     162    result = soap_tmp_ns__sendMIMEResponse->result; 
     163    return soap_closesock(soap); 
     164} 
     165 
    114166SOAP_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) 
    115167{   struct ns__add soap_tmp_ns__add; 
  • capture-mod/trunk/soapH.h

    r1743 r1749  
    4949 
    5050#ifndef SOAP_TYPE_double 
    51 #define SOAP_TYPE_double (25
     51#define SOAP_TYPE_double (28
    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 (37
     62#define SOAP_TYPE_SOAP_ENV__Fault (40
    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 (36
     80#define SOAP_TYPE_SOAP_ENV__Reason (39
    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 (33
     98#define SOAP_TYPE_SOAP_ENV__Detail (36
    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 (31
     116#define SOAP_TYPE_SOAP_ENV__Code (34
    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 (30
     134#define SOAP_TYPE_SOAP_ENV__Header (33
    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 (29
     150#define SOAP_TYPE_ns__sub (32
    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 (28
     164#define SOAP_TYPE_ns__subResponse (31
    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 (24
     178#define SOAP_TYPE_ns__visit (27
    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 (23
     192#define SOAP_TYPE_ns__visitResponse (26
    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 (21
     206#define SOAP_TYPE_ns__ping (24
    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 (20
     220#define SOAP_TYPE_ns__pingResponse (23
    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 (17
     234#define SOAP_TYPE_ns__add (20
    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 (16
     248#define SOAP_TYPE_ns__addResponse (19
    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__sendMIME 
     262#define SOAP_TYPE_ns__sendMIME (17) 
     263#endif 
     264SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__sendMIME(struct soap*, struct ns__sendMIME *); 
     265SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__sendMIME(struct soap*, const struct ns__sendMIME *); 
     266SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__sendMIME(struct soap*, const struct ns__sendMIME *, const char*, const char*); 
     267SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__sendMIME(struct soap*, const char*, int, const struct ns__sendMIME *, const char*); 
     268SOAP_FMAC3 struct ns__sendMIME * SOAP_FMAC4 soap_get_ns__sendMIME(struct soap*, struct ns__sendMIME *, const char*, const char*); 
     269SOAP_FMAC3 struct ns__sendMIME * SOAP_FMAC4 soap_in_ns__sendMIME(struct soap*, const char*, struct ns__sendMIME *, const char*); 
     270SOAP_FMAC5 struct ns__sendMIME * SOAP_FMAC6 soap_new_ns__sendMIME(struct soap*, int); 
     271SOAP_FMAC5 void SOAP_FMAC6 soap_delete_ns__sendMIME(struct soap*, struct ns__sendMIME*); 
     272SOAP_FMAC3 struct ns__sendMIME * SOAP_FMAC4 soap_instantiate_ns__sendMIME(struct soap*, int, const char*, const char*, size_t*); 
     273SOAP_FMAC3 void SOAP_FMAC4 soap_copy_ns__sendMIME(struct soap*, int, int, void*, size_t, const void*, size_t); 
     274 
     275#ifndef SOAP_TYPE_ns__sendMIMEResponse 
     276#define SOAP_TYPE_ns__sendMIMEResponse (16) 
     277#endif 
     278SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__sendMIMEResponse(struct soap*, struct ns__sendMIMEResponse *); 
     279SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__sendMIMEResponse(struct soap*, const struct ns__sendMIMEResponse *); 
     280SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__sendMIMEResponse(struct soap*, const struct ns__sendMIMEResponse *, const char*, const char*); 
     281SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__sendMIMEResponse(struct soap*, const char*, int, const struct ns__sendMIMEResponse *, const char*); 
     282SOAP_FMAC3 struct ns__sendMIMEResponse * SOAP_FMAC4 soap_get_ns__sendMIMEResponse(struct soap*, struct ns__sendMIMEResponse *, const char*, const char*); 
     283SOAP_FMAC3 struct ns__sendMIMEResponse * SOAP_FMAC4 soap_in_ns__sendMIMEResponse(struct soap*, const char*, struct ns__sendMIMEResponse *, const char*); 
     284SOAP_FMAC5 struct ns__sendMIMEResponse * SOAP_FMAC6 soap_new_ns__sendMIMEResponse(struct soap*, int); 
     285SOAP_FMAC5 void SOAP_FMAC6 soap_delete_ns__sendMIMEResponse(struct soap*, struct ns__sendMIMEResponse*); 
     286SOAP_FMAC3 struct ns__sendMIMEResponse * SOAP_FMAC4 soap_instantiate_ns__sendMIMEResponse(struct soap*, int, const char*, const char*, size_t*); 
     287SOAP_FMAC3 void SOAP_FMAC4 soap_copy_ns__sendMIMEResponse(struct soap*, int, int, void*, size_t, const void*, size_t); 
     288 
    261289#ifndef SOAP_TYPE_ns__sendBase64 
    262290#define SOAP_TYPE_ns__sendBase64 (13) 
     
    318346 
    319347#ifndef SOAP_TYPE_PointerToSOAP_ENV__Reason 
    320 #define SOAP_TYPE_PointerToSOAP_ENV__Reason (39
     348#define SOAP_TYPE_PointerToSOAP_ENV__Reason (42
    321349#endif 
    322350SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *const*); 
     
    331359 
    332360#ifndef SOAP_TYPE_PointerToSOAP_ENV__Detail 
    333 #define SOAP_TYPE_PointerToSOAP_ENV__Detail (38
     361#define SOAP_TYPE_PointerToSOAP_ENV__Detail (41
    334362#endif 
    335363SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *const*); 
     
    344372 
    345373#ifndef SOAP_TYPE_PointerToSOAP_ENV__Code 
    346 #define SOAP_TYPE_PointerToSOAP_ENV__Code (32
     374#define SOAP_TYPE_PointerToSOAP_ENV__Code (35
    347375#endif 
    348376SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *const*); 
     
    355383 
    356384#ifndef SOAP_TYPE_PointerTostring 
    357 #define SOAP_TYPE_PointerTostring (18
     385#define SOAP_TYPE_PointerTostring (21
    358386#endif 
    359387SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTostring(struct soap*, char **const*); 
  • capture-mod/trunk/soapServer.cpp

    r1743 r1749  
    77#include "soapH.h" 
    88 
    9 SOAP_SOURCE_STAMP("@(#) soapServer.cpp ver 2.7.10 2008-08-18 03:32:54 GMT") 
     9SOAP_SOURCE_STAMP("@(#) soapServer.cpp ver 2.7.10 2008-08-18 06:59:56 GMT") 
    1010 
    1111 
     
    7878    if (!soap_match_tag(soap, soap->tag, "ns:sendBase64")) 
    7979        return soap_serve_ns__sendBase64(soap); 
     80    if (!soap_match_tag(soap, soap->tag, "ns:sendMIME")) 
     81        return soap_serve_ns__sendMIME(soap); 
    8082    if (!soap_match_tag(soap, soap->tag, "ns:add")) 
    8183        return soap_serve_ns__add(soap); 
     
    172174} 
    173175 
     176SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns__sendMIME(struct soap *soap) 
     177{   struct ns__sendMIME soap_tmp_ns__sendMIME; 
     178    struct ns__sendMIMEResponse soap_tmp_ns__sendMIMEResponse; 
     179    soap_default_ns__sendMIMEResponse(soap, &soap_tmp_ns__sendMIMEResponse); 
     180    soap_default_ns__sendMIME(soap, &soap_tmp_ns__sendMIME); 
     181    soap->encodingStyle = ""; 
     182    if (!soap_get_ns__sendMIME(soap, &soap_tmp_ns__sendMIME, "ns:sendMIME", NULL)) 
     183        return soap->error; 
     184    if (soap_body_end_in(soap) 
     185     || soap_envelope_end_in(soap) 
     186     || soap_end_recv(soap)) 
     187        return soap->error; 
     188    soap->error = ns__sendMIME(soap, soap_tmp_ns__sendMIME.magicNumber, soap_tmp_ns__sendMIMEResponse.result); 
     189    if (soap->error) 
     190        return soap->error; 
     191    soap_serializeheader(soap); 
     192    soap_serialize_ns__sendMIMEResponse(soap, &soap_tmp_ns__sendMIMEResponse); 
     193    if (soap_begin_count(soap)) 
     194        return soap->error; 
     195    if (soap->mode & SOAP_IO_LENGTH) 
     196    {   if (soap_envelope_begin_out(soap) 
     197         || soap_putheader(soap) 
     198         || soap_body_begin_out(soap) 
     199         || soap_put_ns__sendMIMEResponse(soap, &soap_tmp_ns__sendMIMEResponse, "ns:sendMIMEResponse", "") 
     200         || soap_body_end_out(soap) 
     201         || soap_envelope_end_out(soap)) 
     202             return soap->error; 
     203    }; 
     204    if (soap_end_count(soap) 
     205     || soap_response(soap, SOAP_OK) 
     206     || soap_envelope_begin_out(soap) 
     207     || soap_putheader(soap) 
     208     || soap_body_begin_out(soap) 
     209     || soap_put_ns__sendMIMEResponse(soap, &soap_tmp_ns__sendMIMEResponse, "ns:sendMIMEResponse", "") 
     210     || soap_body_end_out(soap) 
     211     || soap_envelope_end_out(soap) 
     212     || soap_end_send(soap)) 
     213        return soap->error; 
     214    return soap_closesock(soap); 
     215} 
     216 
    174217SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns__add(struct soap *soap) 
    175218{   struct ns__add soap_tmp_ns__add; 
  • capture-mod/trunk/soapStub.h

    r1743 r1749  
    6161#endif 
    6262 
     63#ifndef SOAP_TYPE_ns__sendMIMEResponse 
     64#define SOAP_TYPE_ns__sendMIMEResponse (16) 
     65/* ns:sendMIMEResponse */ 
     66struct ns__sendMIMEResponse 
     67{ 
     68public: 
     69    int result; /* SOAP 1.2 RPC return element (when namespace qualified) */    /* required element of type xsd:int */ 
     70}; 
     71#endif 
     72 
     73#ifndef SOAP_TYPE_ns__sendMIME 
     74#define SOAP_TYPE_ns__sendMIME (17) 
     75/* ns:sendMIME */ 
     76struct ns__sendMIME 
     77{ 
     78public: 
     79    int magicNumber;    /* required element of type xsd:int */ 
     80}; 
     81#endif 
     82 
    6383#ifndef SOAP_TYPE_ns__addResponse 
    64 #define SOAP_TYPE_ns__addResponse (16
     84#define SOAP_TYPE_ns__addResponse (19
    6585/* ns:addResponse */ 
    6686struct ns__addResponse 
     
    7292 
    7393#ifndef SOAP_TYPE_ns__add 
    74 #define SOAP_TYPE_ns__add (17
     94#define SOAP_TYPE_ns__add (20
    7595/* ns:add */ 
    7696struct ns__add 
     
    83103 
    84104#ifndef SOAP_TYPE_ns__pingResponse 
    85 #define SOAP_TYPE_ns__pingResponse (20
     105#define SOAP_TYPE_ns__pingResponse (23
    86106/* ns:pingResponse */ 
    87107struct ns__pingResponse 
     
    93113 
    94114#ifndef SOAP_TYPE_ns__ping 
    95 #define SOAP_TYPE_ns__ping (21
     115#define SOAP_TYPE_ns__ping (24
    96116/* ns:ping */ 
    97117struct ns__ping 
     
    103123 
    104124#ifndef SOAP_TYPE_ns__visitResponse 
    105 #define SOAP_TYPE_ns__visitResponse (23
     125#define SOAP_TYPE_ns__visitResponse (26
    106126/* ns:visitResponse */ 
    107127struct ns__visitResponse 
     
    113133 
    114134#ifndef SOAP_TYPE_ns__visit 
    115 #define SOAP_TYPE_ns__visit (24
     135#define SOAP_TYPE_ns__visit (27
    116136/* ns:visit */ 
    117137struct ns__visit 
     
    123143 
    124144#ifndef SOAP_TYPE_ns__subResponse 
    125 #define SOAP_TYPE_ns__subResponse (28
     145#define SOAP_TYPE_ns__subResponse (31
    126146/* ns:subResponse */ 
    127147struct ns__subResponse 
     
    133153 
    134154#ifndef SOAP_TYPE_ns__sub 
    135 #define SOAP_TYPE_ns__sub (29
     155#define SOAP_TYPE_ns__sub (32
    136156/* ns:sub */ 
    137157struct ns__sub 
     
    144164 
    145165#ifndef SOAP_TYPE_SOAP_ENV__Header 
    146 #define SOAP_TYPE_SOAP_ENV__Header (30
     166#define SOAP_TYPE_SOAP_ENV__Header (33
    147167/* SOAP Header: */ 
    148168struct SOAP_ENV__Header 
     
    156176 
    157177#ifndef SOAP_TYPE_SOAP_ENV__Code 
    158 #define SOAP_TYPE_SOAP_ENV__Code (31
     178#define SOAP_TYPE_SOAP_ENV__Code (34
    159179/* SOAP Fault Code: */ 
    160180struct SOAP_ENV__Code 
     
    167187 
    168188#ifndef SOAP_TYPE_SOAP_ENV__Detail 
    169 #define SOAP_TYPE_SOAP_ENV__Detail (33
     189#define SOAP_TYPE_SOAP_ENV__Detail (36
    170190/* SOAP-ENV:Detail */ 
    171191struct SOAP_ENV__Detail 
     
    179199 
    180200#ifndef SOAP_TYPE_SOAP_ENV__Reason 
    181 #define SOAP_TYPE_SOAP_ENV__Reason (36
     201#define SOAP_TYPE_SOAP_ENV__Reason (39
    182202/* SOAP-ENV:Reason */ 
    183203struct SOAP_ENV__Reason 
     
    189209 
    190210#ifndef SOAP_TYPE_SOAP_ENV__Fault 
    191 #define SOAP_TYPE_SOAP_ENV__Fault (37
     211#define SOAP_TYPE_SOAP_ENV__Fault (40
    192212/* SOAP Fault: */ 
    193213struct SOAP_ENV__Fault 
     
    260280SOAP_FMAC5 int SOAP_FMAC6 ns__sendBase64(struct soap*, char *data, int encodedLength, int decodedLength, struct s &result); 
    261281 
     282SOAP_FMAC5 int SOAP_FMAC6 ns__sendMIME(struct soap*, int magicNumber, int &result); 
     283 
    262284SOAP_FMAC5 int SOAP_FMAC6 ns__add(struct soap*, int a, int b, int &result); 
    263285 
     
    279301SOAP_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); 
    280302 
     303SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns__sendMIME(struct soap *soap, const char *soap_endpoint, const char *soap_action, int magicNumber, int &result); 
     304 
    281305SOAP_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); 
    282306 
     
    301325SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns__sendBase64(struct soap*); 
    302326 
     327SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns__sendMIME(struct soap*); 
     328 
    303329SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns__add(struct soap*); 
    304330