aboutsummaryrefslogtreecommitdiff
path: root/deskutils
diff options
context:
space:
mode:
authorThierry Thomas <thierry@FreeBSD.org>2007-07-29 19:43:33 +0000
committerThierry Thomas <thierry@FreeBSD.org>2007-07-29 19:43:33 +0000
commit93b547e6969c76cfaea8e0bf83d4ef1ac0da9b04 (patch)
tree69582a24a6d8d671f79eb8336290d64c857f3302 /deskutils
parentca2e9e98c7b3fd496b4a226f6248061c6d2ad3fb (diff)
downloadports-93b547e6969c76cfaea8e0bf83d4ef1ac0da9b04.tar.gz
ports-93b547e6969c76cfaea8e0bf83d4ef1ac0da9b04.zip
Notes
Diffstat (limited to 'deskutils')
-rw-r--r--deskutils/pinot/Makefile18
-rw-r--r--deskutils/pinot/distinfo6
-rw-r--r--deskutils/pinot/files/patch-gsoap279e3486
-rw-r--r--deskutils/pinot/pkg-plist1
4 files changed, 3498 insertions, 13 deletions
diff --git a/deskutils/pinot/Makefile b/deskutils/pinot/Makefile
index 36ecde9921c3..e98a14ccc48d 100644
--- a/deskutils/pinot/Makefile
+++ b/deskutils/pinot/Makefile
@@ -5,8 +5,7 @@
# $FreeBSD$
PORTNAME= pinot
-PORTVERSION= 0.73
-PORTREVISION= 4
+PORTVERSION= 0.75
CATEGORIES= deskutils
MASTER_SITES= ${MASTER_SITE_BERLIOS}
#MASTER_SITES= http://www.chez.com/colinf/pinot/ \
@@ -35,15 +34,11 @@ RUN_DEPENDS= update-mime-database:${PORTSDIR}/misc/shared-mime-info \
unzip:${PORTSDIR}/archivers/unzip \
unrtf:${PORTSDIR}/textproc/unrtf
-.if !defined(WITHOUT_SOAP)
-BUILD_DEPENDS+= ${LOCALBASE}/lib/libgsoap.a:${PORTSDIR}/devel/gsoap
-CONFIGURE_ARGS+= --with-soap=yes
-.endif
-
GNU_CONFIGURE= yes
CONFIGURE_TARGET= --build=${ARCH}-portbld-freebsd${OSREL}
CONFIGURE_ARGS= --with-http=curl
-CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib"
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib" \
+ MKDIR_P="mkdir -p"
USE_GETTEXT= yes
USE_XLIB= yes
@@ -51,6 +46,11 @@ USE_XLIB= yes
USE_PYTHON= yes
USE_LDCONFIG= ${PREFIX}/lib/pinot/filters
+.if defined(WITH_SOAP)
+BUILD_DEPENDS+= ${LOCALBASE}/lib/libgsoap.a:${PORTSDIR}/devel/gsoap
+CONFIGURE_ARGS+= --enable-soap=yes
+.endif
+
.if defined(WITH_DEBUG)
CONFIGURE_ARGS+= --enable-debug=yes
.endif
@@ -64,7 +64,7 @@ PKGMESSAGE= ${WRKDIR}/pkg-message
MAN1= pinot-dbus-daemon.1 pinot-index.1 pinot-search.1 pinot.1
-PORTDOCS= AUTHORS ChangeLog INSTALL NEWS README TODO
+PORTDOCS= AUTHORS ChangeLog ChangeLog-dijon INSTALL NEWS README TODO
LM2FIX= textcat_conf.txt textcat3_conf.txt
SHR2FIX= Search/pinot-search.1 README
diff --git a/deskutils/pinot/distinfo b/deskutils/pinot/distinfo
index 66dd8a5805b3..d00cb20f2585 100644
--- a/deskutils/pinot/distinfo
+++ b/deskutils/pinot/distinfo
@@ -1,3 +1,3 @@
-MD5 (pinot-0.73.tar.gz) = 0289371844be997c82585b3039f4da05
-SHA256 (pinot-0.73.tar.gz) = 83c233e3289e210f211fa3d6e22a20c174875d502474d80c4442e5a46befdf9a
-SIZE (pinot-0.73.tar.gz) = 844406
+MD5 (pinot-0.75.tar.gz) = 14f1f1312920c279ffe0d7945e0a64b8
+SHA256 (pinot-0.75.tar.gz) = 294b7bd63d5c577b6db70d00831fb0900483c34af6aa836267f44eba5808822e
+SIZE (pinot-0.75.tar.gz) = 867311
diff --git a/deskutils/pinot/files/patch-gsoap279e b/deskutils/pinot/files/patch-gsoap279e
new file mode 100644
index 000000000000..4c9067de8f7a
--- /dev/null
+++ b/deskutils/pinot/files/patch-gsoap279e
@@ -0,0 +1,3486 @@
+diff -Naur ./Search/Google/GAPIC.cpp ./Search/Google/GAPIC.cpp
+--- ./Search/Google/GAPIC.cpp 2006-11-22 21:09:11.000000000 +0800
++++ ./Search/Google/GAPIC.cpp 2007-07-29 18:34:02.000000000 +0800
+@@ -1,13 +1,13 @@
+ /* GAPIC.cpp
+- Generated by gSOAP 2.7.8c from GoogleSearch.h
+- Copyright (C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
++ Generated by gSOAP 2.7.9e from GoogleSearch.h
++ Copyright(C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
+ This part of the software is released under one of the following licenses:
+ GPL, the gSOAP public license, or Genivia's license for commercial use.
+ */
+
+ #include "GAPIH.h"
+
+-SOAP_SOURCE_STAMP("@(#) GAPIC.cpp ver 2.7.8c 2006-11-22 12:30:01 GMT")
++SOAP_SOURCE_STAMP("@(#) GAPIC.cpp ver 2.7.9e 2007-07-29 10:34:02 GMT")
+
+
+ #ifndef WITH_NOGLOBAL
+@@ -39,21 +39,22 @@
+ SOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap *soap)
+ {
+ if (!soap->fault)
+- { soap->fault = (struct SOAP_ENV__Fault*)soap_malloc(soap, sizeof(struct SOAP_ENV__Fault));
++ { soap->fault = soap_new_SOAP_ENV__Fault(soap, -1);
+ soap_default_SOAP_ENV__Fault(soap, soap->fault);
+ }
+ if (soap->version == 2 && !soap->fault->SOAP_ENV__Code)
+- { soap->fault->SOAP_ENV__Code = (struct SOAP_ENV__Code*)soap_malloc(soap, sizeof(struct SOAP_ENV__Code));
++ { soap->fault->SOAP_ENV__Code = soap_new_SOAP_ENV__Code(soap, -1);
+ soap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code);
+ }
+ if (soap->version == 2 && !soap->fault->SOAP_ENV__Reason)
+- { soap->fault->SOAP_ENV__Reason = (struct SOAP_ENV__Reason*)soap_malloc(soap, sizeof(struct SOAP_ENV__Reason));
++ { soap->fault->SOAP_ENV__Reason = soap_new_SOAP_ENV__Reason(soap, -1);
+ soap_default_SOAP_ENV__Reason(soap, soap->fault->SOAP_ENV__Reason);
+ }
+ }
+
+ SOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap *soap)
+ {
++ soap_fault(soap);
+ if (soap->fault)
+ soap_serialize_SOAP_ENV__Fault(soap, soap->fault);
+ }
+@@ -83,7 +84,7 @@
+ soap_fault(soap);
+ if (soap->version == 2)
+ { if (!soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode)
+- { soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode = (struct SOAP_ENV__Code*)soap_malloc(soap, sizeof(struct SOAP_ENV__Code));
++ { soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode = soap_new_SOAP_ENV__Code(soap, -1);
+ soap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode);
+ }
+ return (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;
+@@ -110,7 +111,7 @@
+ return (const char**)&soap->fault->detail->__any;
+ }
+ if (!soap->fault->SOAP_ENV__Detail)
+- { soap->fault->SOAP_ENV__Detail = (struct SOAP_ENV__Detail*)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail));
++ { soap->fault->SOAP_ENV__Detail = soap_new_SOAP_ENV__Detail(soap, -1);
+ soap_default_SOAP_ENV__Detail(soap, soap->fault->SOAP_ENV__Detail);
+ }
+ return (const char**)&soap->fault->SOAP_ENV__Detail->__any;
+@@ -133,6 +134,10 @@
+ #endif
+
+ #ifndef WITH_NOIDREF
++
++#ifdef __cplusplus
++extern "C" {
++#endif
+ SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, int *type)
+ {
+ if (soap_peek_element(soap))
+@@ -153,6 +158,8 @@
+ return soap_in_unsignedInt(soap, NULL, NULL, "xsd:unsignedInt");
+ case SOAP_TYPE_bool:
+ return soap_in_bool(soap, NULL, NULL, "xsd:boolean");
++ case SOAP_TYPE_std__string:
++ return soap_in_std__string(soap, NULL, NULL, "xsd:string");
+ case SOAP_TYPE_gapi1__DirectoryCategory:
+ return soap_in_gapi1__DirectoryCategory(soap, NULL, NULL, "gapi1:DirectoryCategory");
+ case SOAP_TYPE_gapi1DirectoryCategoryArray:
+@@ -163,8 +170,6 @@
+ return soap_in_gapi1__ResultElement(soap, NULL, NULL, "gapi1:ResultElement");
+ case SOAP_TYPE_gapi1__GoogleSearchResult:
+ return soap_in_gapi1__GoogleSearchResult(soap, NULL, NULL, "gapi1:GoogleSearchResult");
+- case SOAP_TYPE_std__string:
+- return soap_in_std__string(soap, NULL, NULL, "xsd:string");
+ case SOAP_TYPE_xsd__base64Binary:
+ return soap_in_xsd__base64Binary(soap, NULL, NULL, "xsd:base64Binary");
+ case SOAP_TYPE_gapi1__doGoogleSearch:
+@@ -228,6 +233,10 @@
+ { *type = SOAP_TYPE_bool;
+ return soap_in_bool(soap, NULL, NULL, NULL);
+ }
++ if (!soap_match_tag(soap, t, "xsd:string"))
++ { *type = SOAP_TYPE_std__string;
++ return soap_in_std__string(soap, NULL, NULL, NULL);
++ }
+ if (!soap_match_tag(soap, t, "gapi1:DirectoryCategory"))
+ { *type = SOAP_TYPE_gapi1__DirectoryCategory;
+ return soap_in_gapi1__DirectoryCategory(soap, NULL, NULL, NULL);
+@@ -248,10 +257,6 @@
+ { *type = SOAP_TYPE_gapi1__GoogleSearchResult;
+ return soap_in_gapi1__GoogleSearchResult(soap, NULL, NULL, NULL);
+ }
+- if (!soap_match_tag(soap, t, "xsd:string"))
+- { *type = SOAP_TYPE_std__string;
+- return soap_in_std__string(soap, NULL, NULL, NULL);
+- }
+ if (!soap_match_tag(soap, t, "xsd:base64Binary"))
+ { *type = SOAP_TYPE_xsd__base64Binary;
+ return soap_in_xsd__base64Binary(soap, NULL, NULL, NULL);
+@@ -287,11 +292,7 @@
+ return s ? *s : NULL;
+ }
+ t = soap->tag;
+- if (!soap_match_tag(soap, t, "SOAP-ENC:arrayType"))
+- { *type = SOAP_TYPE__SOAP_ENC__arrayType;
+- return soap_in__SOAP_ENC__arrayType(soap, NULL, NULL, NULL);
+- }
+- if (!soap_match_tag(soap, t, "QName"))
++ if (!soap_match_tag(soap, t, "xsd:QName"))
+ { char **s;
+ *type = SOAP_TYPE__QName;
+ s = soap_in__QName(soap, NULL, NULL, NULL);
+@@ -302,6 +303,10 @@
+ soap->error = SOAP_TAG_MISMATCH;
+ return NULL;
+ }
++
++#ifdef __cplusplus
++}
++#endif
+ #endif
+
+ SOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap *soap)
+@@ -311,15 +316,17 @@
+ if (soap->mustUnderstand && !soap->other)
+ return soap->error = SOAP_MUSTUNDERSTAND;
+ if (((soap->mode & SOAP_XML_STRICT) && soap->part != SOAP_IN_HEADER) || !soap_match_tag(soap, soap->tag, "SOAP-ENV:"))
+- {
++ { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "REJECTING element '%s'\n", soap->tag));
+ return soap->error = SOAP_TAG_MISMATCH;
+ }
+ if (!*soap->id || !soap_getelement(soap, &t))
+ { soap->peeked = 0;
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unknown element '%s' (level=%u, %d)\n", soap->tag, soap->level, soap->body));
+ if (soap->fignore)
+ soap->error = soap->fignore(soap, soap->tag);
+ else
+ soap->error = SOAP_OK;
++ DBGLOG(TEST, if (!soap->error) SOAP_MESSAGE(fdebug, "IGNORING element '%s'\n", soap->tag));
+ if (!soap->error && soap->body)
+ { soap->level++;
+ while (!soap_ignore_element(soap))
+@@ -348,6 +355,10 @@
+ #endif
+
+ #ifndef WITH_NOIDREF
++
++#ifdef __cplusplus
++extern "C" {
++#endif
+ SOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap *soap, const void *ptr, const char *tag, int id, int type)
+ {
+ switch (type)
+@@ -364,6 +375,8 @@
+ return soap_out_unsignedInt(soap, tag, id, (const unsigned int *)ptr, "xsd:unsignedInt");
+ case SOAP_TYPE_bool:
+ return soap_out_bool(soap, tag, id, (const bool *)ptr, "xsd:boolean");
++ case SOAP_TYPE_std__string:
++ return soap_out_std__string(soap, tag, id, (const std::string *)ptr, "xsd:string");
+ case SOAP_TYPE_gapi1__DirectoryCategory:
+ return ((gapi1__DirectoryCategory *)ptr)->soap_out(soap, tag, id, "gapi1:DirectoryCategory");
+ case SOAP_TYPE_gapi1DirectoryCategoryArray:
+@@ -374,10 +387,6 @@
+ return ((gapi1__ResultElement *)ptr)->soap_out(soap, tag, id, "gapi1:ResultElement");
+ case SOAP_TYPE_gapi1__GoogleSearchResult:
+ return ((gapi1__GoogleSearchResult *)ptr)->soap_out(soap, tag, id, "gapi1:GoogleSearchResult");
+- case SOAP_TYPE__SOAP_ENC__arrayType:
+- return soap_out__SOAP_ENC__arrayType(soap, "SOAP-ENC:arrayType", id, (const std::string *)ptr, NULL);
+- case SOAP_TYPE_std__string:
+- return soap_out_std__string(soap, tag, id, (const std::string *)ptr, "xsd:string");
+ case SOAP_TYPE_xsd__base64Binary:
+ return ((xsd__base64Binary *)ptr)->soap_out(soap, tag, id, "xsd:base64Binary");
+ case SOAP_TYPE_gapi1__doGoogleSearch:
+@@ -409,20 +418,31 @@
+ case SOAP_TYPE_PointerTounsignedByte:
+ return soap_out_PointerTounsignedByte(soap, tag, id, (unsigned char *const*)ptr, "xsd:unsignedByte");
+ case SOAP_TYPE__QName:
+- return soap_out_string(soap, "QName", id, (char**)&ptr, NULL);
++ return soap_out_string(soap, "xsd:QName", id, (char**)&ptr, NULL);
+ case SOAP_TYPE_string:
+ return soap_out_string(soap, tag, id, (char**)&ptr, "xsd:string");
+ }
+ return SOAP_OK;
+ }
++
++#ifdef __cplusplus
++}
++#endif
+ #endif
+
+ #ifndef WITH_NOIDREF
++
++#ifdef __cplusplus
++extern "C" {
++#endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap *soap, const void *ptr, int type)
+ {
+ (void)soap; (void)ptr; (void)type; /* appease -Wall -Werror */
+ switch (type)
+ {
++ case SOAP_TYPE_std__string:
++ soap_serialize_std__string(soap, (const std::string *)ptr);
++ break;
+ case SOAP_TYPE_gapi1__DirectoryCategory:
+ ((gapi1__DirectoryCategory *)ptr)->soap_serialize(soap);
+ break;
+@@ -438,12 +458,6 @@
+ case SOAP_TYPE_gapi1__GoogleSearchResult:
+ ((gapi1__GoogleSearchResult *)ptr)->soap_serialize(soap);
+ break;
+- case SOAP_TYPE__SOAP_ENC__arrayType:
+- soap_serialize__SOAP_ENC__arrayType(soap, (const std::string *)ptr);
+- break;
+- case SOAP_TYPE_std__string:
+- soap_serialize_std__string(soap, (const std::string *)ptr);
+- break;
+ case SOAP_TYPE_xsd__base64Binary:
+ ((xsd__base64Binary *)ptr)->soap_serialize(soap);
+ break;
+@@ -497,6 +511,10 @@
+ break;
+ }
+ }
++
++#ifdef __cplusplus
++}
++#endif
+ #endif
+
+ SOAP_FMAC3 void * SOAP_FMAC4 soap_instantiate(struct soap *soap, int t, const char *type, const char *arrayType, size_t *n)
+@@ -529,13 +547,31 @@
+ return (void*)soap_instantiate_gapi1__doGoogleSearchResponse(soap, -1, type, arrayType, n);
+ case SOAP_TYPE_gapi1__doGoogleSearch:
+ return (void*)soap_instantiate_gapi1__doGoogleSearch(soap, -1, type, arrayType, n);
+- case SOAP_TYPE__SOAP_ENC__arrayType:
+- return (void*)soap_instantiate__SOAP_ENC__arrayType(soap, -1, type, arrayType, n);
++#ifndef WITH_NOGLOBAL
++ case SOAP_TYPE_SOAP_ENV__Header:
++ return (void*)soap_instantiate_SOAP_ENV__Header(soap, -1, type, arrayType, n);
++#endif
++#ifndef WITH_NOGLOBAL
++ case SOAP_TYPE_SOAP_ENV__Code:
++ return (void*)soap_instantiate_SOAP_ENV__Code(soap, -1, type, arrayType, n);
++#endif
++#ifndef WITH_NOGLOBAL
++ case SOAP_TYPE_SOAP_ENV__Detail:
++ return (void*)soap_instantiate_SOAP_ENV__Detail(soap, -1, type, arrayType, n);
++#endif
++#ifndef WITH_NOGLOBAL
++ case SOAP_TYPE_SOAP_ENV__Reason:
++ return (void*)soap_instantiate_SOAP_ENV__Reason(soap, -1, type, arrayType, n);
++#endif
++#ifndef WITH_NOGLOBAL
++ case SOAP_TYPE_SOAP_ENV__Fault:
++ return (void*)soap_instantiate_SOAP_ENV__Fault(soap, -1, type, arrayType, n);
++#endif
+ }
+ return NULL;
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_fdelete(struct soap_clist *p)
++SOAP_FMAC3 int SOAP_FMAC4 soap_fdelete(struct soap_clist *p)
+ { switch (p->type)
+ {
+ case SOAP_TYPE_xsd__base64Binary:
+@@ -646,13 +682,9 @@
+ else
+ delete[] (struct SOAP_ENV__Fault*)p->ptr;
+ break;
+- case SOAP_TYPE__SOAP_ENC__arrayType:
+- if (p->size < 0)
+- delete (std::string*)p->ptr;
+- else
+- delete[] (std::string*)p->ptr;
+- break;
++ default: return SOAP_ERR;
+ }
++ return SOAP_OK;
+ }
+
+ SOAP_FMAC3 void* SOAP_FMAC4 soap_class_id_enter(struct soap *soap, const char *id, void *p, int t, size_t n, const char *type, const char *arrayType)
+@@ -865,10 +897,7 @@
+ };
+
+ SOAP_FMAC3S const char* SOAP_FMAC4S soap_bool2s(struct soap *soap, bool n)
+-{ const char *s = soap_code_str(soap_codes_bool, (long)n);
+- if (s)
+- return s;
+- return soap_long2s(soap, (long)n);
++{ return soap_code_str(soap_codes_bool, n!=0);
+ }
+
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_bool(struct soap *soap, const char *tag, int id, const bool *a, const char *type)
+@@ -917,26 +946,120 @@
+ return NULL;
+ }
+ else
+- { a = (bool *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_bool, 0, sizeof(bool), 0, NULL);
++ { a = (bool *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_bool, 0, sizeof(bool), 0, NULL);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+ return a;
+ }
+
+-void gapi1__DirectoryCategory::soap_serialize(struct soap *soap) const
++SOAP_FMAC3 void SOAP_FMAC4 soap_default_std__string(struct soap *soap, std::string *p)
++{ (void)soap; /* appease -Wall -Werror */
++ p->erase();
++}
++
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_std__string(struct soap *soap, const std::string *p)
++{ (void)soap; (void)p; /* appease -Wall -Werror */
++}
++
++SOAP_FMAC3 int SOAP_FMAC4 soap_put_std__string(struct soap *soap, const std::string *a, const char *tag, const char *type)
+ {
+- (void)soap; /* appease -Wall -Werror */
+- soap_serialize_std__string(soap, &((gapi1__DirectoryCategory*)this)->fullViewableName);
+- soap_serialize_std__string(soap, &((gapi1__DirectoryCategory*)this)->specialEncoding);
+- /* transient soap skipped */
++ register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_std__string);
++ if (soap_out_std__string(soap, tag, id, a, type))
++ return soap->error;
++ return soap_putindependent(soap);
++}
++SOAP_FMAC3 int SOAP_FMAC4 soap_out_std__string(struct soap *soap, const char *tag, int id, const std::string *s, const char *type)
++{
++ if ((soap->mode & SOAP_C_NILSTRING) && s->empty())
++ return soap_element_null(soap, tag, id, type);
++ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, s, SOAP_TYPE_std__string), type) || soap_string_out(soap, s->c_str(), 0) || soap_element_end_out(soap, tag))
++ return soap->error;
++ return SOAP_OK;
++}
++
++SOAP_FMAC3 std::string * SOAP_FMAC4 soap_get_std__string(struct soap *soap, std::string *p, const char *tag, const char *type)
++{
++ if ((p = soap_in_std__string(soap, tag, p, type)))
++ soap_getindependent(soap);
++ return p;
++}
++
++SOAP_FMAC1 std::string * SOAP_FMAC2 soap_in_std__string(struct soap *soap, const char *tag, std::string *s, const char *type)
++{
++ if (soap_element_begin_in(soap, tag, 1, type))
++ return NULL;
++ if (!s)
++ s = soap_new_std__string(soap, -1);
++ if (soap->null)
++ if (s)
++ s->erase();
++ if (soap->body && !*soap->href)
++ { char *t;
++ s = (std::string*)soap_class_id_enter(soap, soap->id, s, SOAP_TYPE_std__string, sizeof(std::string), soap->type, soap->arrayType);
++ if (s)
++ if ((t = soap_string_in(soap, 1, -1, -1)))
++ s->assign(t);
++ else
++ return NULL;
++ }
++ else
++ s = (std::string*)soap_id_forward(soap, soap->href, soap_class_id_enter(soap, soap->id, s, SOAP_TYPE_std__string, sizeof(std::string), soap->type, soap->arrayType), 0, SOAP_TYPE_std__string, 0, sizeof(std::string), 0, soap_copy_std__string);
++ if (soap->body && soap_element_end_in(soap, tag))
++ return NULL;
++ return s;
++}
++
++SOAP_FMAC5 std::string * SOAP_FMAC6 soap_new_std__string(struct soap *soap, int n)
++{ return soap_instantiate_std__string(soap, n, NULL, NULL, NULL);
++}
++
++SOAP_FMAC5 void SOAP_FMAC6 soap_delete_std__string(struct soap *soap, std::string *p)
++{ soap_delete(soap, p);
++}
++
++SOAP_FMAC3 std::string * SOAP_FMAC4 soap_instantiate_std__string(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
++{
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_std__string(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
++ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_std__string, n, soap_fdelete);
++ if (!cp)
++ return NULL;
++ if (n < 0)
++ { cp->ptr = (void*)new std::string;
++ if (size)
++ *size = sizeof(std::string);
++ }
++ else
++ { cp->ptr = (void*)new std::string[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
++ if (size)
++ *size = n * sizeof(std::string);
++ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
++ return (std::string*)cp->ptr;
++}
++SOAP_FMAC3 void SOAP_FMAC4 soap_copy_std__string(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
++{
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying std::string %p -> %p\n", q, p));
++ *(std::string*)p = *(std::string*)q;
+ }
+
+ void gapi1__DirectoryCategory::soap_default(struct soap *soap)
+ {
+ this->soap = soap;
+- soap_default_std__string(soap, &((gapi1__DirectoryCategory*)this)->fullViewableName);
+- soap_default_std__string(soap, &((gapi1__DirectoryCategory*)this)->specialEncoding);
++ soap_default_std__string(soap, &this->gapi1__DirectoryCategory::fullViewableName);
++ soap_default_std__string(soap, &this->gapi1__DirectoryCategory::specialEncoding);
++ /* transient soap skipped */
++}
++
++void gapi1__DirectoryCategory::soap_serialize(struct soap *soap) const
++{
++ (void)soap; /* appease -Wall -Werror */
++ soap_serialize_std__string(soap, &this->gapi1__DirectoryCategory::fullViewableName);
++ soap_serialize_std__string(soap, &this->gapi1__DirectoryCategory::specialEncoding);
+ /* transient soap skipped */
+ }
+
+@@ -956,8 +1079,8 @@
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_gapi1__DirectoryCategory(struct soap *soap, const char *tag, int id, const gapi1__DirectoryCategory *a, const char *type)
+ {
+ soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_gapi1__DirectoryCategory), type);
+- soap_out_std__string(soap, "fullViewableName", -1, &(((gapi1__DirectoryCategory*)a)->fullViewableName), "");
+- soap_out_std__string(soap, "specialEncoding", -1, &(((gapi1__DirectoryCategory*)a)->specialEncoding), "");
++ soap_out_std__string(soap, "fullViewableName", -1, &(a->gapi1__DirectoryCategory::fullViewableName), "");
++ soap_out_std__string(soap, "specialEncoding", -1, &(a->gapi1__DirectoryCategory::specialEncoding), "");
+ /* transient soap skipped */
+ soap_element_end_out(soap, tag);
+ return SOAP_OK;
+@@ -1000,12 +1123,12 @@
+ for (;;)
+ { soap->error = SOAP_TAG_MISMATCH;
+ if (soap_flag_fullViewableName1 && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+- if (soap_in_std__string(soap, "fullViewableName", &(((gapi1__DirectoryCategory*)a)->fullViewableName), "xsd:string"))
++ if (soap_in_std__string(soap, "fullViewableName", &(a->gapi1__DirectoryCategory::fullViewableName), "xsd:string"))
+ { soap_flag_fullViewableName1--;
+ continue;
+ }
+ if (soap_flag_specialEncoding1 && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+- if (soap_in_std__string(soap, "specialEncoding", &(((gapi1__DirectoryCategory*)a)->specialEncoding), "xsd:string"))
++ if (soap_in_std__string(soap, "specialEncoding", &(a->gapi1__DirectoryCategory::specialEncoding), "xsd:string"))
+ { soap_flag_specialEncoding1--;
+ continue;
+ }
+@@ -1017,18 +1140,18 @@
+ if (soap->error)
+ return NULL;
+ }
+- if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_fullViewableName1 > 0 || soap_flag_specialEncoding1 > 0))
+- { soap->error = SOAP_OCCURS;
+- return NULL;
+- }
+ if (soap_element_end_in(soap, tag))
+ return NULL;
+ }
+ else
+- { a = (gapi1__DirectoryCategory *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_gapi1__DirectoryCategory, 0, sizeof(gapi1__DirectoryCategory), 0, soap_copy_gapi1__DirectoryCategory);
++ { a = (gapi1__DirectoryCategory *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_gapi1__DirectoryCategory, 0, sizeof(gapi1__DirectoryCategory), 0, soap_copy_gapi1__DirectoryCategory);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
++ if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_fullViewableName1 > 0 || soap_flag_specialEncoding1 > 0))
++ { soap->error = SOAP_OCCURS;
++ return NULL;
++ }
+ return a;
+ }
+
+@@ -1042,6 +1165,7 @@
+
+ SOAP_FMAC3 gapi1__DirectoryCategory * SOAP_FMAC4 soap_instantiate_gapi1__DirectoryCategory(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_gapi1__DirectoryCategory(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_gapi1__DirectoryCategory, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -1053,19 +1177,31 @@
+ }
+ else
+ { cp->ptr = (void*)new gapi1__DirectoryCategory[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(gapi1__DirectoryCategory);
+ for (int i = 0; i < n; i++)
+ ((gapi1__DirectoryCategory*)cp->ptr)[i].soap = soap;
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (gapi1__DirectoryCategory*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__DirectoryCategory(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying gapi1__DirectoryCategory %p -> %p\n", q, p));
+ *(gapi1__DirectoryCategory*)p = *(gapi1__DirectoryCategory*)q;
+ }
+
++void gapi1DirectoryCategoryArray::soap_default(struct soap *soap)
++{
++ this->soap = soap;
++ this->__size = 0;
++ this->__ptr = NULL;
++}
++
+ void gapi1DirectoryCategoryArray::soap_serialize(struct soap *soap) const
+ {
+ if (this->__ptr && !soap_array_reference(soap, this, (struct soap_array*)&this->__ptr, 1, SOAP_TYPE_gapi1DirectoryCategoryArray))
+@@ -1075,13 +1211,6 @@
+ }
+ }
+
+-void gapi1DirectoryCategoryArray::soap_default(struct soap *soap)
+-{
+- this->soap = soap;
+- this->__size = 0;
+- this->__ptr = NULL;
+-}
+-
+ int gapi1DirectoryCategoryArray::soap_put(struct soap *soap, const char *tag, const char *type) const
+ {
+ register int id = soap_embed(soap, (void*)this, (struct soap_array*)&this->__ptr, 1, tag, SOAP_TYPE_gapi1DirectoryCategoryArray);
+@@ -1189,7 +1318,7 @@
+ return NULL;
+ }
+ else
+- { a = (gapi1DirectoryCategoryArray *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_gapi1DirectoryCategoryArray, 0, sizeof(gapi1DirectoryCategoryArray), 0, soap_copy_gapi1DirectoryCategoryArray);
++ { a = (gapi1DirectoryCategoryArray *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_gapi1DirectoryCategoryArray, 0, sizeof(gapi1DirectoryCategoryArray), 0, soap_copy_gapi1DirectoryCategoryArray);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+@@ -1206,6 +1335,7 @@
+
+ SOAP_FMAC3 gapi1DirectoryCategoryArray * SOAP_FMAC4 soap_instantiate_gapi1DirectoryCategoryArray(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_gapi1DirectoryCategoryArray(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_gapi1DirectoryCategoryArray, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -1217,19 +1347,31 @@
+ }
+ else
+ { cp->ptr = (void*)new gapi1DirectoryCategoryArray[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(gapi1DirectoryCategoryArray);
+ for (int i = 0; i < n; i++)
+ ((gapi1DirectoryCategoryArray*)cp->ptr)[i].soap = soap;
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (gapi1DirectoryCategoryArray*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1DirectoryCategoryArray(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying gapi1DirectoryCategoryArray %p -> %p\n", q, p));
+ *(gapi1DirectoryCategoryArray*)p = *(gapi1DirectoryCategoryArray*)q;
+ }
+
++void gapi1ResultElementArray::soap_default(struct soap *soap)
++{
++ this->soap = soap;
++ this->__size = 0;
++ this->__ptr = NULL;
++}
++
+ void gapi1ResultElementArray::soap_serialize(struct soap *soap) const
+ {
+ if (this->__ptr && !soap_array_reference(soap, this, (struct soap_array*)&this->__ptr, 1, SOAP_TYPE_gapi1ResultElementArray))
+@@ -1239,13 +1381,6 @@
+ }
+ }
+
+-void gapi1ResultElementArray::soap_default(struct soap *soap)
+-{
+- this->soap = soap;
+- this->__size = 0;
+- this->__ptr = NULL;
+-}
+-
+ int gapi1ResultElementArray::soap_put(struct soap *soap, const char *tag, const char *type) const
+ {
+ register int id = soap_embed(soap, (void*)this, (struct soap_array*)&this->__ptr, 1, tag, SOAP_TYPE_gapi1ResultElementArray);
+@@ -1353,7 +1488,7 @@
+ return NULL;
+ }
+ else
+- { a = (gapi1ResultElementArray *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_gapi1ResultElementArray, 0, sizeof(gapi1ResultElementArray), 0, soap_copy_gapi1ResultElementArray);
++ { a = (gapi1ResultElementArray *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_gapi1ResultElementArray, 0, sizeof(gapi1ResultElementArray), 0, soap_copy_gapi1ResultElementArray);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+@@ -1370,6 +1505,7 @@
+
+ SOAP_FMAC3 gapi1ResultElementArray * SOAP_FMAC4 soap_instantiate_gapi1ResultElementArray(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_gapi1ResultElementArray(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_gapi1ResultElementArray, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -1381,45 +1517,50 @@
+ }
+ else
+ { cp->ptr = (void*)new gapi1ResultElementArray[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(gapi1ResultElementArray);
+ for (int i = 0; i < n; i++)
+ ((gapi1ResultElementArray*)cp->ptr)[i].soap = soap;
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (gapi1ResultElementArray*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1ResultElementArray(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying gapi1ResultElementArray %p -> %p\n", q, p));
+ *(gapi1ResultElementArray*)p = *(gapi1ResultElementArray*)q;
+ }
+
+-void gapi1__ResultElement::soap_serialize(struct soap *soap) const
++void gapi1__ResultElement::soap_default(struct soap *soap)
+ {
+- (void)soap; /* appease -Wall -Werror */
+- soap_serialize_std__string(soap, &((gapi1__ResultElement*)this)->summary);
+- soap_serialize_std__string(soap, &((gapi1__ResultElement*)this)->URL);
+- soap_serialize_std__string(soap, &((gapi1__ResultElement*)this)->snippet);
+- soap_serialize_std__string(soap, &((gapi1__ResultElement*)this)->title);
+- soap_serialize_std__string(soap, &((gapi1__ResultElement*)this)->cachedSize);
+- soap_serialize_std__string(soap, &((gapi1__ResultElement*)this)->hostName);
+- soap_serialize_PointerTogapi1__DirectoryCategory(soap, &((gapi1__ResultElement*)this)->directoryCategory);
+- soap_serialize_std__string(soap, &((gapi1__ResultElement*)this)->directoryTitle);
++ this->soap = soap;
++ soap_default_std__string(soap, &this->gapi1__ResultElement::summary);
++ soap_default_std__string(soap, &this->gapi1__ResultElement::URL);
++ soap_default_std__string(soap, &this->gapi1__ResultElement::snippet);
++ soap_default_std__string(soap, &this->gapi1__ResultElement::title);
++ soap_default_std__string(soap, &this->gapi1__ResultElement::cachedSize);
++ soap_default_bool(soap, &this->gapi1__ResultElement::relatedInformationPresent);
++ soap_default_std__string(soap, &this->gapi1__ResultElement::hostName);
++ this->gapi1__ResultElement::directoryCategory = NULL;
++ soap_default_std__string(soap, &this->gapi1__ResultElement::directoryTitle);
+ /* transient soap skipped */
+ }
+
+-void gapi1__ResultElement::soap_default(struct soap *soap)
++void gapi1__ResultElement::soap_serialize(struct soap *soap) const
+ {
+- this->soap = soap;
+- soap_default_std__string(soap, &((gapi1__ResultElement*)this)->summary);
+- soap_default_std__string(soap, &((gapi1__ResultElement*)this)->URL);
+- soap_default_std__string(soap, &((gapi1__ResultElement*)this)->snippet);
+- soap_default_std__string(soap, &((gapi1__ResultElement*)this)->title);
+- soap_default_std__string(soap, &((gapi1__ResultElement*)this)->cachedSize);
+- soap_default_bool(soap, &((gapi1__ResultElement*)this)->relatedInformationPresent);
+- soap_default_std__string(soap, &((gapi1__ResultElement*)this)->hostName);
+- ((gapi1__ResultElement*)this)->directoryCategory = NULL;
+- soap_default_std__string(soap, &((gapi1__ResultElement*)this)->directoryTitle);
++ (void)soap; /* appease -Wall -Werror */
++ soap_serialize_std__string(soap, &this->gapi1__ResultElement::summary);
++ soap_serialize_std__string(soap, &this->gapi1__ResultElement::URL);
++ soap_serialize_std__string(soap, &this->gapi1__ResultElement::snippet);
++ soap_serialize_std__string(soap, &this->gapi1__ResultElement::title);
++ soap_serialize_std__string(soap, &this->gapi1__ResultElement::cachedSize);
++ soap_serialize_std__string(soap, &this->gapi1__ResultElement::hostName);
++ soap_serialize_PointerTogapi1__DirectoryCategory(soap, &this->gapi1__ResultElement::directoryCategory);
++ soap_serialize_std__string(soap, &this->gapi1__ResultElement::directoryTitle);
+ /* transient soap skipped */
+ }
+
+@@ -1439,15 +1580,15 @@
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_gapi1__ResultElement(struct soap *soap, const char *tag, int id, const gapi1__ResultElement *a, const char *type)
+ {
+ soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_gapi1__ResultElement), type);
+- soap_out_std__string(soap, "summary", -1, &(((gapi1__ResultElement*)a)->summary), "");
+- soap_out_std__string(soap, "URL", -1, &(((gapi1__ResultElement*)a)->URL), "");
+- soap_out_std__string(soap, "snippet", -1, &(((gapi1__ResultElement*)a)->snippet), "");
+- soap_out_std__string(soap, "title", -1, &(((gapi1__ResultElement*)a)->title), "");
+- soap_out_std__string(soap, "cachedSize", -1, &(((gapi1__ResultElement*)a)->cachedSize), "");
+- soap_out_bool(soap, "relatedInformationPresent", -1, &(((gapi1__ResultElement*)a)->relatedInformationPresent), "");
+- soap_out_std__string(soap, "hostName", -1, &(((gapi1__ResultElement*)a)->hostName), "");
+- soap_out_PointerTogapi1__DirectoryCategory(soap, "directoryCategory", -1, &(((gapi1__ResultElement*)a)->directoryCategory), "");
+- soap_out_std__string(soap, "directoryTitle", -1, &(((gapi1__ResultElement*)a)->directoryTitle), "");
++ soap_out_std__string(soap, "summary", -1, &(a->gapi1__ResultElement::summary), "");
++ soap_out_std__string(soap, "URL", -1, &(a->gapi1__ResultElement::URL), "");
++ soap_out_std__string(soap, "snippet", -1, &(a->gapi1__ResultElement::snippet), "");
++ soap_out_std__string(soap, "title", -1, &(a->gapi1__ResultElement::title), "");
++ soap_out_std__string(soap, "cachedSize", -1, &(a->gapi1__ResultElement::cachedSize), "");
++ soap_out_bool(soap, "relatedInformationPresent", -1, &(a->gapi1__ResultElement::relatedInformationPresent), "");
++ soap_out_std__string(soap, "hostName", -1, &(a->gapi1__ResultElement::hostName), "");
++ soap_out_PointerTogapi1__DirectoryCategory(soap, "directoryCategory", -1, &(a->gapi1__ResultElement::directoryCategory), "");
++ soap_out_std__string(soap, "directoryTitle", -1, &(a->gapi1__ResultElement::directoryTitle), "");
+ /* transient soap skipped */
+ soap_element_end_out(soap, tag);
+ return SOAP_OK;
+@@ -1490,47 +1631,47 @@
+ for (;;)
+ { soap->error = SOAP_TAG_MISMATCH;
+ if (soap_flag_summary1 && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+- if (soap_in_std__string(soap, "summary", &(((gapi1__ResultElement*)a)->summary), "xsd:string"))
++ if (soap_in_std__string(soap, "summary", &(a->gapi1__ResultElement::summary), "xsd:string"))
+ { soap_flag_summary1--;
+ continue;
+ }
+ if (soap_flag_URL1 && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+- if (soap_in_std__string(soap, "URL", &(((gapi1__ResultElement*)a)->URL), "xsd:string"))
++ if (soap_in_std__string(soap, "URL", &(a->gapi1__ResultElement::URL), "xsd:string"))
+ { soap_flag_URL1--;
+ continue;
+ }
+ if (soap_flag_snippet1 && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+- if (soap_in_std__string(soap, "snippet", &(((gapi1__ResultElement*)a)->snippet), "xsd:string"))
++ if (soap_in_std__string(soap, "snippet", &(a->gapi1__ResultElement::snippet), "xsd:string"))
+ { soap_flag_snippet1--;
+ continue;
+ }
+ if (soap_flag_title1 && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+- if (soap_in_std__string(soap, "title", &(((gapi1__ResultElement*)a)->title), "xsd:string"))
++ if (soap_in_std__string(soap, "title", &(a->gapi1__ResultElement::title), "xsd:string"))
+ { soap_flag_title1--;
+ continue;
+ }
+ if (soap_flag_cachedSize1 && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+- if (soap_in_std__string(soap, "cachedSize", &(((gapi1__ResultElement*)a)->cachedSize), "xsd:string"))
++ if (soap_in_std__string(soap, "cachedSize", &(a->gapi1__ResultElement::cachedSize), "xsd:string"))
+ { soap_flag_cachedSize1--;
+ continue;
+ }
+ if (soap_flag_relatedInformationPresent1 && soap->error == SOAP_TAG_MISMATCH)
+- if (soap_in_bool(soap, "relatedInformationPresent", &(((gapi1__ResultElement*)a)->relatedInformationPresent), "xsd:boolean"))
++ if (soap_in_bool(soap, "relatedInformationPresent", &(a->gapi1__ResultElement::relatedInformationPresent), "xsd:boolean"))
+ { soap_flag_relatedInformationPresent1--;
+ continue;
+ }
+ if (soap_flag_hostName1 && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+- if (soap_in_std__string(soap, "hostName", &(((gapi1__ResultElement*)a)->hostName), "xsd:string"))
++ if (soap_in_std__string(soap, "hostName", &(a->gapi1__ResultElement::hostName), "xsd:string"))
+ { soap_flag_hostName1--;
+ continue;
+ }
+ if (soap_flag_directoryCategory1 && soap->error == SOAP_TAG_MISMATCH)
+- if (soap_in_PointerTogapi1__DirectoryCategory(soap, "directoryCategory", &(((gapi1__ResultElement*)a)->directoryCategory), "gapi1:DirectoryCategory"))
++ if (soap_in_PointerTogapi1__DirectoryCategory(soap, "directoryCategory", &(a->gapi1__ResultElement::directoryCategory), "gapi1:DirectoryCategory"))
+ { soap_flag_directoryCategory1--;
+ continue;
+ }
+ if (soap_flag_directoryTitle1 && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+- if (soap_in_std__string(soap, "directoryTitle", &(((gapi1__ResultElement*)a)->directoryTitle), "xsd:string"))
++ if (soap_in_std__string(soap, "directoryTitle", &(a->gapi1__ResultElement::directoryTitle), "xsd:string"))
+ { soap_flag_directoryTitle1--;
+ continue;
+ }
+@@ -1542,18 +1683,18 @@
+ if (soap->error)
+ return NULL;
+ }
+- if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_summary1 > 0 || soap_flag_URL1 > 0 || soap_flag_snippet1 > 0 || soap_flag_title1 > 0 || soap_flag_cachedSize1 > 0 || soap_flag_relatedInformationPresent1 > 0 || soap_flag_hostName1 > 0 || soap_flag_directoryCategory1 > 0 || soap_flag_directoryTitle1 > 0))
+- { soap->error = SOAP_OCCURS;
+- return NULL;
+- }
+ if (soap_element_end_in(soap, tag))
+ return NULL;
+ }
+ else
+- { a = (gapi1__ResultElement *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_gapi1__ResultElement, 0, sizeof(gapi1__ResultElement), 0, soap_copy_gapi1__ResultElement);
++ { a = (gapi1__ResultElement *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_gapi1__ResultElement, 0, sizeof(gapi1__ResultElement), 0, soap_copy_gapi1__ResultElement);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
++ if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_summary1 > 0 || soap_flag_URL1 > 0 || soap_flag_snippet1 > 0 || soap_flag_title1 > 0 || soap_flag_cachedSize1 > 0 || soap_flag_relatedInformationPresent1 > 0 || soap_flag_hostName1 > 0 || soap_flag_directoryCategory1 > 0 || soap_flag_directoryTitle1 > 0))
++ { soap->error = SOAP_OCCURS;
++ return NULL;
++ }
+ return a;
+ }
+
+@@ -1567,6 +1708,7 @@
+
+ SOAP_FMAC3 gapi1__ResultElement * SOAP_FMAC4 soap_instantiate_gapi1__ResultElement(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_gapi1__ResultElement(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_gapi1__ResultElement, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -1578,44 +1720,49 @@
+ }
+ else
+ { cp->ptr = (void*)new gapi1__ResultElement[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(gapi1__ResultElement);
+ for (int i = 0; i < n; i++)
+ ((gapi1__ResultElement*)cp->ptr)[i].soap = soap;
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (gapi1__ResultElement*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__ResultElement(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying gapi1__ResultElement %p -> %p\n", q, p));
+ *(gapi1__ResultElement*)p = *(gapi1__ResultElement*)q;
+ }
+
+-void gapi1__GoogleSearchResult::soap_serialize(struct soap *soap) const
++void gapi1__GoogleSearchResult::soap_default(struct soap *soap)
+ {
+- (void)soap; /* appease -Wall -Werror */
+- soap_serialize_std__string(soap, &((gapi1__GoogleSearchResult*)this)->searchComments);
+- soap_serialize_PointerTogapi1ResultElementArray(soap, &((gapi1__GoogleSearchResult*)this)->resultElements);
+- soap_serialize_std__string(soap, &((gapi1__GoogleSearchResult*)this)->searchQuery);
+- soap_serialize_std__string(soap, &((gapi1__GoogleSearchResult*)this)->searchTips);
+- soap_serialize_PointerTogapi1DirectoryCategoryArray(soap, &((gapi1__GoogleSearchResult*)this)->directoryCategories);
++ this->soap = soap;
++ soap_default_bool(soap, &this->gapi1__GoogleSearchResult::documentFiltering);
++ soap_default_std__string(soap, &this->gapi1__GoogleSearchResult::searchComments);
++ soap_default_int(soap, &this->gapi1__GoogleSearchResult::estimatedTotalResultsCount);
++ soap_default_bool(soap, &this->gapi1__GoogleSearchResult::estimateIsExact);
++ this->gapi1__GoogleSearchResult::resultElements = NULL;
++ soap_default_std__string(soap, &this->gapi1__GoogleSearchResult::searchQuery);
++ soap_default_int(soap, &this->gapi1__GoogleSearchResult::startIndex);
++ soap_default_int(soap, &this->gapi1__GoogleSearchResult::endIndex);
++ soap_default_std__string(soap, &this->gapi1__GoogleSearchResult::searchTips);
++ this->gapi1__GoogleSearchResult::directoryCategories = NULL;
++ soap_default_double(soap, &this->gapi1__GoogleSearchResult::searchTime);
+ /* transient soap skipped */
+ }
+
+-void gapi1__GoogleSearchResult::soap_default(struct soap *soap)
++void gapi1__GoogleSearchResult::soap_serialize(struct soap *soap) const
+ {
+- this->soap = soap;
+- soap_default_bool(soap, &((gapi1__GoogleSearchResult*)this)->documentFiltering);
+- soap_default_std__string(soap, &((gapi1__GoogleSearchResult*)this)->searchComments);
+- soap_default_int(soap, &((gapi1__GoogleSearchResult*)this)->estimatedTotalResultsCount);
+- soap_default_bool(soap, &((gapi1__GoogleSearchResult*)this)->estimateIsExact);
+- ((gapi1__GoogleSearchResult*)this)->resultElements = NULL;
+- soap_default_std__string(soap, &((gapi1__GoogleSearchResult*)this)->searchQuery);
+- soap_default_int(soap, &((gapi1__GoogleSearchResult*)this)->startIndex);
+- soap_default_int(soap, &((gapi1__GoogleSearchResult*)this)->endIndex);
+- soap_default_std__string(soap, &((gapi1__GoogleSearchResult*)this)->searchTips);
+- ((gapi1__GoogleSearchResult*)this)->directoryCategories = NULL;
+- soap_default_double(soap, &((gapi1__GoogleSearchResult*)this)->searchTime);
++ (void)soap; /* appease -Wall -Werror */
++ soap_serialize_std__string(soap, &this->gapi1__GoogleSearchResult::searchComments);
++ soap_serialize_PointerTogapi1ResultElementArray(soap, &this->gapi1__GoogleSearchResult::resultElements);
++ soap_serialize_std__string(soap, &this->gapi1__GoogleSearchResult::searchQuery);
++ soap_serialize_std__string(soap, &this->gapi1__GoogleSearchResult::searchTips);
++ soap_serialize_PointerTogapi1DirectoryCategoryArray(soap, &this->gapi1__GoogleSearchResult::directoryCategories);
+ /* transient soap skipped */
+ }
+
+@@ -1635,17 +1782,17 @@
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_gapi1__GoogleSearchResult(struct soap *soap, const char *tag, int id, const gapi1__GoogleSearchResult *a, const char *type)
+ {
+ soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_gapi1__GoogleSearchResult), type);
+- soap_out_bool(soap, "documentFiltering", -1, &(((gapi1__GoogleSearchResult*)a)->documentFiltering), "");
+- soap_out_std__string(soap, "searchComments", -1, &(((gapi1__GoogleSearchResult*)a)->searchComments), "");
+- soap_out_int(soap, "estimatedTotalResultsCount", -1, &(((gapi1__GoogleSearchResult*)a)->estimatedTotalResultsCount), "");
+- soap_out_bool(soap, "estimateIsExact", -1, &(((gapi1__GoogleSearchResult*)a)->estimateIsExact), "");
+- soap_out_PointerTogapi1ResultElementArray(soap, "resultElements", -1, &(((gapi1__GoogleSearchResult*)a)->resultElements), "");
+- soap_out_std__string(soap, "searchQuery", -1, &(((gapi1__GoogleSearchResult*)a)->searchQuery), "");
+- soap_out_int(soap, "startIndex", -1, &(((gapi1__GoogleSearchResult*)a)->startIndex), "");
+- soap_out_int(soap, "endIndex", -1, &(((gapi1__GoogleSearchResult*)a)->endIndex), "");
+- soap_out_std__string(soap, "searchTips", -1, &(((gapi1__GoogleSearchResult*)a)->searchTips), "");
+- soap_out_PointerTogapi1DirectoryCategoryArray(soap, "directoryCategories", -1, &(((gapi1__GoogleSearchResult*)a)->directoryCategories), "");
+- soap_out_double(soap, "searchTime", -1, &(((gapi1__GoogleSearchResult*)a)->searchTime), "");
++ soap_out_bool(soap, "documentFiltering", -1, &(a->gapi1__GoogleSearchResult::documentFiltering), "");
++ soap_out_std__string(soap, "searchComments", -1, &(a->gapi1__GoogleSearchResult::searchComments), "");
++ soap_out_int(soap, "estimatedTotalResultsCount", -1, &(a->gapi1__GoogleSearchResult::estimatedTotalResultsCount), "");
++ soap_out_bool(soap, "estimateIsExact", -1, &(a->gapi1__GoogleSearchResult::estimateIsExact), "");
++ soap_out_PointerTogapi1ResultElementArray(soap, "resultElements", -1, &(a->gapi1__GoogleSearchResult::resultElements), "");
++ soap_out_std__string(soap, "searchQuery", -1, &(a->gapi1__GoogleSearchResult::searchQuery), "");
++ soap_out_int(soap, "startIndex", -1, &(a->gapi1__GoogleSearchResult::startIndex), "");
++ soap_out_int(soap, "endIndex", -1, &(a->gapi1__GoogleSearchResult::endIndex), "");
++ soap_out_std__string(soap, "searchTips", -1, &(a->gapi1__GoogleSearchResult::searchTips), "");
++ soap_out_PointerTogapi1DirectoryCategoryArray(soap, "directoryCategories", -1, &(a->gapi1__GoogleSearchResult::directoryCategories), "");
++ soap_out_double(soap, "searchTime", -1, &(a->gapi1__GoogleSearchResult::searchTime), "");
+ /* transient soap skipped */
+ soap_element_end_out(soap, tag);
+ return SOAP_OK;
+@@ -1688,57 +1835,57 @@
+ for (;;)
+ { soap->error = SOAP_TAG_MISMATCH;
+ if (soap_flag_documentFiltering1 && soap->error == SOAP_TAG_MISMATCH)
+- if (soap_in_bool(soap, "documentFiltering", &(((gapi1__GoogleSearchResult*)a)->documentFiltering), "xsd:boolean"))
++ if (soap_in_bool(soap, "documentFiltering", &(a->gapi1__GoogleSearchResult::documentFiltering), "xsd:boolean"))
+ { soap_flag_documentFiltering1--;
+ continue;
+ }
+ if (soap_flag_searchComments1 && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+- if (soap_in_std__string(soap, "searchComments", &(((gapi1__GoogleSearchResult*)a)->searchComments), "xsd:string"))
++ if (soap_in_std__string(soap, "searchComments", &(a->gapi1__GoogleSearchResult::searchComments), "xsd:string"))
+ { soap_flag_searchComments1--;
+ continue;
+ }
+ if (soap_flag_estimatedTotalResultsCount1 && soap->error == SOAP_TAG_MISMATCH)
+- if (soap_in_int(soap, "estimatedTotalResultsCount", &(((gapi1__GoogleSearchResult*)a)->estimatedTotalResultsCount), "xsd:int"))
++ if (soap_in_int(soap, "estimatedTotalResultsCount", &(a->gapi1__GoogleSearchResult::estimatedTotalResultsCount), "xsd:int"))
+ { soap_flag_estimatedTotalResultsCount1--;
+ continue;
+ }
+ if (soap_flag_estimateIsExact1 && soap->error == SOAP_TAG_MISMATCH)
+- if (soap_in_bool(soap, "estimateIsExact", &(((gapi1__GoogleSearchResult*)a)->estimateIsExact), "xsd:boolean"))
++ if (soap_in_bool(soap, "estimateIsExact", &(a->gapi1__GoogleSearchResult::estimateIsExact), "xsd:boolean"))
+ { soap_flag_estimateIsExact1--;
+ continue;
+ }
+ if (soap_flag_resultElements1 && soap->error == SOAP_TAG_MISMATCH)
+- if (soap_in_PointerTogapi1ResultElementArray(soap, "resultElements", &(((gapi1__GoogleSearchResult*)a)->resultElements), "gapi1:ResultElement"))
++ if (soap_in_PointerTogapi1ResultElementArray(soap, "resultElements", &(a->gapi1__GoogleSearchResult::resultElements), "gapi1:ResultElement"))
+ { soap_flag_resultElements1--;
+ continue;
+ }
+ if (soap_flag_searchQuery1 && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+- if (soap_in_std__string(soap, "searchQuery", &(((gapi1__GoogleSearchResult*)a)->searchQuery), "xsd:string"))
++ if (soap_in_std__string(soap, "searchQuery", &(a->gapi1__GoogleSearchResult::searchQuery), "xsd:string"))
+ { soap_flag_searchQuery1--;
+ continue;
+ }
+ if (soap_flag_startIndex1 && soap->error == SOAP_TAG_MISMATCH)
+- if (soap_in_int(soap, "startIndex", &(((gapi1__GoogleSearchResult*)a)->startIndex), "xsd:int"))
++ if (soap_in_int(soap, "startIndex", &(a->gapi1__GoogleSearchResult::startIndex), "xsd:int"))
+ { soap_flag_startIndex1--;
+ continue;
+ }
+ if (soap_flag_endIndex1 && soap->error == SOAP_TAG_MISMATCH)
+- if (soap_in_int(soap, "endIndex", &(((gapi1__GoogleSearchResult*)a)->endIndex), "xsd:int"))
++ if (soap_in_int(soap, "endIndex", &(a->gapi1__GoogleSearchResult::endIndex), "xsd:int"))
+ { soap_flag_endIndex1--;
+ continue;
+ }
+ if (soap_flag_searchTips1 && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+- if (soap_in_std__string(soap, "searchTips", &(((gapi1__GoogleSearchResult*)a)->searchTips), "xsd:string"))
++ if (soap_in_std__string(soap, "searchTips", &(a->gapi1__GoogleSearchResult::searchTips), "xsd:string"))
+ { soap_flag_searchTips1--;
+ continue;
+ }
+ if (soap_flag_directoryCategories1 && soap->error == SOAP_TAG_MISMATCH)
+- if (soap_in_PointerTogapi1DirectoryCategoryArray(soap, "directoryCategories", &(((gapi1__GoogleSearchResult*)a)->directoryCategories), "gapi1:DirectoryCategory"))
++ if (soap_in_PointerTogapi1DirectoryCategoryArray(soap, "directoryCategories", &(a->gapi1__GoogleSearchResult::directoryCategories), "gapi1:DirectoryCategory"))
+ { soap_flag_directoryCategories1--;
+ continue;
+ }
+ if (soap_flag_searchTime1 && soap->error == SOAP_TAG_MISMATCH)
+- if (soap_in_double(soap, "searchTime", &(((gapi1__GoogleSearchResult*)a)->searchTime), "xsd:double"))
++ if (soap_in_double(soap, "searchTime", &(a->gapi1__GoogleSearchResult::searchTime), "xsd:double"))
+ { soap_flag_searchTime1--;
+ continue;
+ }
+@@ -1750,18 +1897,18 @@
+ if (soap->error)
+ return NULL;
+ }
+- if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_documentFiltering1 > 0 || soap_flag_searchComments1 > 0 || soap_flag_estimatedTotalResultsCount1 > 0 || soap_flag_estimateIsExact1 > 0 || soap_flag_resultElements1 > 0 || soap_flag_searchQuery1 > 0 || soap_flag_startIndex1 > 0 || soap_flag_endIndex1 > 0 || soap_flag_searchTips1 > 0 || soap_flag_directoryCategories1 > 0 || soap_flag_searchTime1 > 0))
+- { soap->error = SOAP_OCCURS;
+- return NULL;
+- }
+ if (soap_element_end_in(soap, tag))
+ return NULL;
+ }
+ else
+- { a = (gapi1__GoogleSearchResult *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_gapi1__GoogleSearchResult, 0, sizeof(gapi1__GoogleSearchResult), 0, soap_copy_gapi1__GoogleSearchResult);
++ { a = (gapi1__GoogleSearchResult *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_gapi1__GoogleSearchResult, 0, sizeof(gapi1__GoogleSearchResult), 0, soap_copy_gapi1__GoogleSearchResult);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
++ if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_documentFiltering1 > 0 || soap_flag_searchComments1 > 0 || soap_flag_estimatedTotalResultsCount1 > 0 || soap_flag_estimateIsExact1 > 0 || soap_flag_resultElements1 > 0 || soap_flag_searchQuery1 > 0 || soap_flag_startIndex1 > 0 || soap_flag_endIndex1 > 0 || soap_flag_searchTips1 > 0 || soap_flag_directoryCategories1 > 0 || soap_flag_searchTime1 > 0))
++ { soap->error = SOAP_OCCURS;
++ return NULL;
++ }
+ return a;
+ }
+
+@@ -1775,6 +1922,7 @@
+
+ SOAP_FMAC3 gapi1__GoogleSearchResult * SOAP_FMAC4 soap_instantiate_gapi1__GoogleSearchResult(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_gapi1__GoogleSearchResult(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_gapi1__GoogleSearchResult, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -1786,226 +1934,60 @@
+ }
+ else
+ { cp->ptr = (void*)new gapi1__GoogleSearchResult[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(gapi1__GoogleSearchResult);
+ for (int i = 0; i < n; i++)
+ ((gapi1__GoogleSearchResult*)cp->ptr)[i].soap = soap;
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (gapi1__GoogleSearchResult*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__GoogleSearchResult(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying gapi1__GoogleSearchResult %p -> %p\n", q, p));
+ *(gapi1__GoogleSearchResult*)p = *(gapi1__GoogleSearchResult*)q;
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__SOAP_ENC__arrayType(struct soap *soap, std::string const*a)
+-{ soap_serialize_std__string(soap, a);
++void xsd__base64Binary::soap_default(struct soap *soap)
++{
++ this->soap = soap;
++ this->__size = 0;
++ this->__ptr = NULL;
++ this->id = NULL;
++ this->type = NULL;
++ this->options = NULL;
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_default__SOAP_ENC__arrayType(struct soap *soap, std::string *a)
+-{ soap_default_std__string(soap, a);
++void xsd__base64Binary::soap_serialize(struct soap *soap) const
++{
++ if (this->__ptr && !soap_array_reference(soap, this, (struct soap_array*)&this->__ptr, 1, SOAP_TYPE_xsd__base64Binary))
++ if (this->id || this->type)
++ soap->mode |= SOAP_ENC_DIME;
+ }
+
+-SOAP_FMAC3 int SOAP_FMAC4 soap_put__SOAP_ENC__arrayType(struct soap *soap, const std::string *a, const char *tag, const char *type)
++int xsd__base64Binary::soap_put(struct soap *soap, const char *tag, const char *type) const
+ {
+- register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE__SOAP_ENC__arrayType);
+- if (soap_out__SOAP_ENC__arrayType(soap, tag, id, a, type))
++ register int id = soap_embed(soap, (void*)this, (struct soap_array*)&this->__ptr, 1, tag, SOAP_TYPE_xsd__base64Binary);
++ if (this->soap_out(soap, tag, id, type))
+ return soap->error;
+ return soap_putindependent(soap);
+ }
+-SOAP_FMAC3 int SOAP_FMAC4 soap_out__SOAP_ENC__arrayType(struct soap *soap, const char *tag, int id, const std::string *s, const char *type)
+-{
+- if ((soap->mode & SOAP_C_NILSTRING) && s->empty())
+- return soap_element_null(soap, tag, id, type);
+- if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, s, SOAP_TYPE__SOAP_ENC__arrayType), type) || soap_string_out(soap, s->c_str(), 0) || soap_element_end_out(soap, tag))
+- return soap->error;
+- return SOAP_OK;
+-}
+
+-SOAP_FMAC3 std::string * SOAP_FMAC4 soap_get__SOAP_ENC__arrayType(struct soap *soap, std::string *p, const char *tag, const char *type)
+-{
+- if ((p = soap_in__SOAP_ENC__arrayType(soap, tag, p, type)))
+- soap_getindependent(soap);
+- return p;
++int xsd__base64Binary::soap_out(struct soap *soap, const char *tag, int id, const char *type) const
++{ return soap_out_xsd__base64Binary(soap, tag, id, this, type);
+ }
+
+-SOAP_FMAC1 std::string * SOAP_FMAC2 soap_in__SOAP_ENC__arrayType(struct soap *soap, const char *tag, std::string *s, const char *type)
+-{
+- if (soap_element_begin_in(soap, tag, 1, type))
+- return NULL;
+- if (!s)
+- s = soap_new_std__string(soap, -1);
+- if (soap->null)
+- if (s)
+- s->erase();
+- if (soap->body && !*soap->href)
+- { char *t;
+- s = (std::string*)soap_class_id_enter(soap, soap->id, s, SOAP_TYPE__SOAP_ENC__arrayType, sizeof(std::string), soap->type, soap->arrayType);
+- if (s)
+- if ((t = soap_string_in(soap, 1, -1, -1)))
+- s->assign(t);
+- else
+- return NULL;
+- }
+- else
+- s = (std::string*)soap_id_forward(soap, soap->href, soap_class_id_enter(soap, soap->id, s, SOAP_TYPE__SOAP_ENC__arrayType, sizeof(std::string), soap->type, soap->arrayType), 0, SOAP_TYPE__SOAP_ENC__arrayType, 0, sizeof(std::string), 0, soap_copy__SOAP_ENC__arrayType);
+- if (soap->body && soap_element_end_in(soap, tag))
+- return NULL;
+- return s;
+-}
+-
+-SOAP_FMAC5 std::string * SOAP_FMAC6 soap_new__SOAP_ENC__arrayType(struct soap *soap, int n)
+-{ return soap_instantiate__SOAP_ENC__arrayType(soap, n, NULL, NULL, NULL);
+-}
+-
+-SOAP_FMAC5 void SOAP_FMAC6 soap_delete__SOAP_ENC__arrayType(struct soap *soap, std::string *p)
+-{ soap_delete(soap, p);
+-}
+-
+-SOAP_FMAC3 std::string * SOAP_FMAC4 soap_instantiate__SOAP_ENC__arrayType(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+-{
+- struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE__SOAP_ENC__arrayType, n, soap_fdelete);
+- if (!cp)
+- return NULL;
+- if (n < 0)
+- { cp->ptr = (void*)new std::string;
+- if (size)
+- *size = sizeof(std::string);
+- }
+- else
+- { cp->ptr = (void*)new std::string[n];
+- if (size)
+- *size = n * sizeof(std::string);
+- }
+- return (std::string*)cp->ptr;
+-}
+-
+-SOAP_FMAC3 void SOAP_FMAC4 soap_copy__SOAP_ENC__arrayType(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+-{
+- *(std::string*)p = *(std::string*)q;
+-}
+-
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_std__string(struct soap *soap, const std::string *p)
+-{ (void)soap; (void)p; /* appease -Wall -Werror */
+-}
+-
+-SOAP_FMAC3 void SOAP_FMAC4 soap_default_std__string(struct soap *soap, std::string *p)
+-{ (void)soap; /* appease -Wall -Werror */
+- p->erase();
+-}
+-
+-SOAP_FMAC3 int SOAP_FMAC4 soap_put_std__string(struct soap *soap, const std::string *a, const char *tag, const char *type)
+-{
+- register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_std__string);
+- if (soap_out_std__string(soap, tag, id, a, type))
+- return soap->error;
+- return soap_putindependent(soap);
+-}
+-SOAP_FMAC3 int SOAP_FMAC4 soap_out_std__string(struct soap *soap, const char *tag, int id, const std::string *s, const char *type)
+-{
+- if ((soap->mode & SOAP_C_NILSTRING) && s->empty())
+- return soap_element_null(soap, tag, id, type);
+- if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, s, SOAP_TYPE_std__string), type) || soap_string_out(soap, s->c_str(), 0) || soap_element_end_out(soap, tag))
+- return soap->error;
+- return SOAP_OK;
+-}
+-
+-SOAP_FMAC3 std::string * SOAP_FMAC4 soap_get_std__string(struct soap *soap, std::string *p, const char *tag, const char *type)
+-{
+- if ((p = soap_in_std__string(soap, tag, p, type)))
+- soap_getindependent(soap);
+- return p;
+-}
+-
+-SOAP_FMAC1 std::string * SOAP_FMAC2 soap_in_std__string(struct soap *soap, const char *tag, std::string *s, const char *type)
+-{
+- if (soap_element_begin_in(soap, tag, 1, type))
+- return NULL;
+- if (!s)
+- s = soap_new_std__string(soap, -1);
+- if (soap->null)
+- if (s)
+- s->erase();
+- if (soap->body && !*soap->href)
+- { char *t;
+- s = (std::string*)soap_class_id_enter(soap, soap->id, s, SOAP_TYPE_std__string, sizeof(std::string), soap->type, soap->arrayType);
+- if (s)
+- if ((t = soap_string_in(soap, 1, -1, -1)))
+- s->assign(t);
+- else
+- return NULL;
+- }
+- else
+- s = (std::string*)soap_id_forward(soap, soap->href, soap_class_id_enter(soap, soap->id, s, SOAP_TYPE_std__string, sizeof(std::string), soap->type, soap->arrayType), 0, SOAP_TYPE_std__string, 0, sizeof(std::string), 0, soap_copy_std__string);
+- if (soap->body && soap_element_end_in(soap, tag))
+- return NULL;
+- return s;
+-}
+-
+-SOAP_FMAC5 std::string * SOAP_FMAC6 soap_new_std__string(struct soap *soap, int n)
+-{ return soap_instantiate_std__string(soap, n, NULL, NULL, NULL);
+-}
+-
+-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_std__string(struct soap *soap, std::string *p)
+-{ soap_delete(soap, p);
+-}
+-
+-SOAP_FMAC3 std::string * SOAP_FMAC4 soap_instantiate_std__string(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+-{
+- struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_std__string, n, soap_fdelete);
+- if (!cp)
+- return NULL;
+- if (n < 0)
+- { cp->ptr = (void*)new std::string;
+- if (size)
+- *size = sizeof(std::string);
+- }
+- else
+- { cp->ptr = (void*)new std::string[n];
+- if (size)
+- *size = n * sizeof(std::string);
+- }
+- return (std::string*)cp->ptr;
+-}
+-
+-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_std__string(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+-{
+- *(std::string*)p = *(std::string*)q;
+-}
+-
+-void xsd__base64Binary::soap_serialize(struct soap *soap) const
+-{
+- if (this->__ptr && !soap_array_reference(soap, this, (struct soap_array*)&this->__ptr, 1, SOAP_TYPE_xsd__base64Binary))
+- if (this->id || this->type)
+- soap->mode |= SOAP_ENC_DIME;
+-}
+-
+-void xsd__base64Binary::soap_default(struct soap *soap)
+-{
+- this->soap = soap;
+- this->__size = 0;
+- this->__ptr = NULL;
+- this->id = NULL;
+- this->type = NULL;
+- this->options = NULL;
+-}
+-
+-int xsd__base64Binary::soap_put(struct soap *soap, const char *tag, const char *type) const
+-{
+- register int id = soap_embed(soap, (void*)this, (struct soap_array*)&this->__ptr, 1, tag, SOAP_TYPE_xsd__base64Binary);
+- if (this->soap_out(soap, tag, id, type))
+- return soap->error;
+- return soap_putindependent(soap);
+-}
+-
+-int xsd__base64Binary::soap_out(struct soap *soap, const char *tag, int id, const char *type) const
+-{ return soap_out_xsd__base64Binary(soap, tag, id, this, type);
+-}
+-
+-SOAP_FMAC3 int SOAP_FMAC4 soap_out_xsd__base64Binary(struct soap *soap, const char *tag, int id, const xsd__base64Binary *a, const char *type)
++SOAP_FMAC3 int SOAP_FMAC4 soap_out_xsd__base64Binary(struct soap *soap, const char *tag, int id, const xsd__base64Binary *a, const char *type)
+ {
++#ifndef WITH_LEANER
+ id = soap_attachment(soap, tag, id, a, (struct soap_array*)&a->__ptr, a->id, a->type, a->options, 1, type, SOAP_TYPE_xsd__base64Binary);
++#else
++ id = soap_element_id(soap, tag, id, a, (struct soap_array*)&a->__ptr, 1, type, SOAP_TYPE_xsd__base64Binary);
++#endif
+ if (id < 0)
+ return soap->error;
+ soap_element_begin_out(soap, tag, id, type);
+@@ -2046,18 +2028,23 @@
+ if (soap->body && !*soap->href)
+ {
+ a->__ptr = soap_getbase64(soap, &a->__size, 0);
++#ifndef WITH_LEANER
+ if (soap_xop_forward(soap, &a->__ptr, &a->__size, &a->id, &a->type, &a->options))
+ return NULL;
++#endif
+ if ((!a->__ptr && soap->error) || soap_element_end_in(soap, tag))
+ return NULL;
+ }
+ else
+- { if (*soap->href != '#')
++ {
++#ifndef WITH_LEANER
++ if (*soap->href != '#')
+ { if (soap_dime_forward(soap, &a->__ptr, &a->__size, &a->id, &a->type, &a->options))
+ return NULL;
+ }
+ else
+- a = (xsd__base64Binary *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_xsd__base64Binary, 0, sizeof(xsd__base64Binary), 0, soap_copy_xsd__base64Binary);
++#endif
++ a = (xsd__base64Binary *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_xsd__base64Binary, 0, sizeof(xsd__base64Binary), 0, soap_copy_xsd__base64Binary);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+@@ -2074,6 +2061,7 @@
+
+ SOAP_FMAC3 xsd__base64Binary * SOAP_FMAC4 soap_instantiate_xsd__base64Binary(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_xsd__base64Binary(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_xsd__base64Binary, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -2085,35 +2073,26 @@
+ }
+ else
+ { cp->ptr = (void*)new xsd__base64Binary[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(xsd__base64Binary);
+ for (int i = 0; i < n; i++)
+ ((xsd__base64Binary*)cp->ptr)[i].soap = soap;
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (xsd__base64Binary*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_xsd__base64Binary(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying xsd__base64Binary %p -> %p\n", q, p));
+ *(xsd__base64Binary*)p = *(xsd__base64Binary*)q;
+ }
+
+ #ifndef WITH_NOGLOBAL
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a)
+-{
+- (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_serialize__QName(soap, &a->faultcode);
+- soap_serialize_string(soap, &a->faultstring);
+- soap_serialize_string(soap, &a->faultactor);
+- soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->detail);
+- soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Code);
+- soap_serialize_PointerToSOAP_ENV__Reason(soap, &a->SOAP_ENV__Reason);
+- soap_serialize_string(soap, &a->SOAP_ENV__Node);
+- soap_serialize_string(soap, &a->SOAP_ENV__Role);
+- soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->SOAP_ENV__Detail);
+-}
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Fault(struct soap *soap, struct SOAP_ENV__Fault *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+@@ -2128,6 +2107,20 @@
+ a->SOAP_ENV__Detail = NULL;
+ }
+
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a)
++{
++ (void)soap; (void)a; /* appease -Wall -Werror */
++ soap_serialize__QName(soap, &a->faultcode);
++ soap_serialize_string(soap, &a->faultstring);
++ soap_serialize_string(soap, &a->faultactor);
++ soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->detail);
++ soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Code);
++ soap_serialize_PointerToSOAP_ENV__Reason(soap, &a->SOAP_ENV__Reason);
++ soap_serialize_string(soap, &a->SOAP_ENV__Node);
++ soap_serialize_string(soap, &a->SOAP_ENV__Role);
++ soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->SOAP_ENV__Detail);
++}
++
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a, const char *tag, const char *type)
+ {
+ register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Fault);
+@@ -2229,7 +2222,7 @@
+ return NULL;
+ }
+ else
+- { a = (struct SOAP_ENV__Fault *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_SOAP_ENV__Fault, 0, sizeof(struct SOAP_ENV__Fault), 0, NULL);
++ { a = (struct SOAP_ENV__Fault *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Fault, 0, sizeof(struct SOAP_ENV__Fault), 0, NULL);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+@@ -2246,6 +2239,7 @@
+
+ SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_instantiate_SOAP_ENV__Fault(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Fault(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_SOAP_ENV__Fault, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -2256,14 +2250,19 @@
+ }
+ else
+ { cp->ptr = (void*)new struct SOAP_ENV__Fault[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct SOAP_ENV__Fault);
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct SOAP_ENV__Fault*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Fault(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Fault %p -> %p\n", q, p));
+ *(struct SOAP_ENV__Fault*)p = *(struct SOAP_ENV__Fault*)q;
+ }
+
+@@ -2271,16 +2270,16 @@
+
+ #ifndef WITH_NOGLOBAL
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_serialize_string(soap, &a->SOAP_ENV__Text);
++ soap_default_string(soap, &a->SOAP_ENV__Text);
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_default_string(soap, &a->SOAP_ENV__Text);
++ soap_serialize_string(soap, &a->SOAP_ENV__Text);
+ }
+
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a, const char *tag, const char *type)
+@@ -2335,7 +2334,7 @@
+ return NULL;
+ }
+ else
+- { a = (struct SOAP_ENV__Reason *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_SOAP_ENV__Reason, 0, sizeof(struct SOAP_ENV__Reason), 0, NULL);
++ { a = (struct SOAP_ENV__Reason *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Reason, 0, sizeof(struct SOAP_ENV__Reason), 0, NULL);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+@@ -2352,6 +2351,7 @@
+
+ SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_instantiate_SOAP_ENV__Reason(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Reason(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_SOAP_ENV__Reason, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -2362,14 +2362,19 @@
+ }
+ else
+ { cp->ptr = (void*)new struct SOAP_ENV__Reason[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct SOAP_ENV__Reason);
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct SOAP_ENV__Reason*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Reason(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Reason %p -> %p\n", q, p));
+ *(struct SOAP_ENV__Reason*)p = *(struct SOAP_ENV__Reason*)q;
+ }
+
+@@ -2377,12 +2382,6 @@
+
+ #ifndef WITH_NOGLOBAL
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a)
+-{
+- (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_markelement(soap, a->fault, a->__type);
+-}
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+@@ -2391,6 +2390,12 @@
+ a->__any = NULL;
+ }
+
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a)
++{
++ (void)soap; (void)a; /* appease -Wall -Werror */
++ soap_markelement(soap, a->fault, a->__type);
++}
++
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a, const char *tag, const char *type)
+ {
+ register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Detail);
+@@ -2449,7 +2454,7 @@
+ return NULL;
+ }
+ else
+- { a = (struct SOAP_ENV__Detail *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_SOAP_ENV__Detail, 0, sizeof(struct SOAP_ENV__Detail), 0, NULL);
++ { a = (struct SOAP_ENV__Detail *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Detail, 0, sizeof(struct SOAP_ENV__Detail), 0, NULL);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+@@ -2466,6 +2471,7 @@
+
+ SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_instantiate_SOAP_ENV__Detail(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Detail(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_SOAP_ENV__Detail, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -2476,14 +2482,19 @@
+ }
+ else
+ { cp->ptr = (void*)new struct SOAP_ENV__Detail[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct SOAP_ENV__Detail);
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct SOAP_ENV__Detail*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Detail(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Detail %p -> %p\n", q, p));
+ *(struct SOAP_ENV__Detail*)p = *(struct SOAP_ENV__Detail*)q;
+ }
+
+@@ -2491,18 +2502,18 @@
+
+ #ifndef WITH_NOGLOBAL
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_serialize__QName(soap, &a->SOAP_ENV__Value);
+- soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Subcode);
++ soap_default__QName(soap, &a->SOAP_ENV__Value);
++ a->SOAP_ENV__Subcode = NULL;
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_default__QName(soap, &a->SOAP_ENV__Value);
+- a->SOAP_ENV__Subcode = NULL;
++ soap_serialize__QName(soap, &a->SOAP_ENV__Value);
++ soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Subcode);
+ }
+
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a, const char *tag, const char *type)
+@@ -2564,7 +2575,7 @@
+ return NULL;
+ }
+ else
+- { a = (struct SOAP_ENV__Code *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_SOAP_ENV__Code, 0, sizeof(struct SOAP_ENV__Code), 0, NULL);
++ { a = (struct SOAP_ENV__Code *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Code, 0, sizeof(struct SOAP_ENV__Code), 0, NULL);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+@@ -2581,6 +2592,7 @@
+
+ SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_instantiate_SOAP_ENV__Code(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Code(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_SOAP_ENV__Code, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -2591,14 +2603,19 @@
+ }
+ else
+ { cp->ptr = (void*)new struct SOAP_ENV__Code[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct SOAP_ENV__Code);
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct SOAP_ENV__Code*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Code(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Code %p -> %p\n", q, p));
+ *(struct SOAP_ENV__Code*)p = *(struct SOAP_ENV__Code*)q;
+ }
+
+@@ -2606,13 +2623,13 @@
+
+ #ifndef WITH_NOGLOBAL
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap *soap, const struct SOAP_ENV__Header *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+ /* transient dummy skipped */
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap *soap, const struct SOAP_ENV__Header *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+ /* transient dummy skipped */
+@@ -2665,7 +2682,7 @@
+ return NULL;
+ }
+ else
+- { a = (struct SOAP_ENV__Header *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_SOAP_ENV__Header, 0, sizeof(struct SOAP_ENV__Header), 0, NULL);
++ { a = (struct SOAP_ENV__Header *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Header, 0, sizeof(struct SOAP_ENV__Header), 0, NULL);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+@@ -2682,6 +2699,7 @@
+
+ SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_instantiate_SOAP_ENV__Header(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Header(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_SOAP_ENV__Header, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -2692,30 +2710,24 @@
+ }
+ else
+ { cp->ptr = (void*)new struct SOAP_ENV__Header[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct SOAP_ENV__Header);
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct SOAP_ENV__Header*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Header(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Header %p -> %p\n", q, p));
+ *(struct SOAP_ENV__Header*)p = *(struct SOAP_ENV__Header*)q;
+ }
+
+ #endif
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGoogleSearch(struct soap *soap, const struct gapi1__doGoogleSearch *a)
+-{
+- (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_serialize_std__string(soap, &a->key);
+- soap_serialize_std__string(soap, &a->q);
+- soap_serialize_std__string(soap, &a->restrict_);
+- soap_serialize_std__string(soap, &a->lr);
+- soap_serialize_std__string(soap, &a->ie);
+- soap_serialize_std__string(soap, &a->oe);
+-}
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doGoogleSearch(struct soap *soap, struct gapi1__doGoogleSearch *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+@@ -2731,6 +2743,17 @@
+ soap_default_std__string(soap, &a->oe);
+ }
+
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGoogleSearch(struct soap *soap, const struct gapi1__doGoogleSearch *a)
++{
++ (void)soap; (void)a; /* appease -Wall -Werror */
++ soap_serialize_std__string(soap, &a->key);
++ soap_serialize_std__string(soap, &a->q);
++ soap_serialize_std__string(soap, &a->restrict_);
++ soap_serialize_std__string(soap, &a->lr);
++ soap_serialize_std__string(soap, &a->ie);
++ soap_serialize_std__string(soap, &a->oe);
++}
++
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_gapi1__doGoogleSearch(struct soap *soap, const struct gapi1__doGoogleSearch *a, const char *tag, const char *type)
+ {
+ register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_gapi1__doGoogleSearch);
+@@ -2742,16 +2765,16 @@
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_gapi1__doGoogleSearch(struct soap *soap, const char *tag, int id, const struct gapi1__doGoogleSearch *a, const char *type)
+ {
+ soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_gapi1__doGoogleSearch), type);
+- soap_out_std__string(soap, "key", -1, &a->key, "xsd:string");
+- soap_out_std__string(soap, "q", -1, &a->q, "xsd:string");
+- soap_out_int(soap, "start", -1, &a->start, "xsd:int");
+- soap_out_int(soap, "maxResults", -1, &a->maxResults, "xsd:int");
+- soap_out_bool(soap, "filter", -1, &a->filter, "xsd:boolean");
+- soap_out_std__string(soap, "restrict", -1, &a->restrict_, "xsd:string");
+- soap_out_bool(soap, "safeSearch", -1, &a->safeSearch, "xsd:boolean");
+- soap_out_std__string(soap, "lr", -1, &a->lr, "xsd:string");
+- soap_out_std__string(soap, "ie", -1, &a->ie, "xsd:string");
+- soap_out_std__string(soap, "oe", -1, &a->oe, "xsd:string");
++ soap_out_std__string(soap, "key", -1, &a->key, "");
++ soap_out_std__string(soap, "q", -1, &a->q, "");
++ soap_out_int(soap, "start", -1, &a->start, "");
++ soap_out_int(soap, "maxResults", -1, &a->maxResults, "");
++ soap_out_bool(soap, "filter", -1, &a->filter, "");
++ soap_out_std__string(soap, "restrict", -1, &a->restrict_, "");
++ soap_out_bool(soap, "safeSearch", -1, &a->safeSearch, "");
++ soap_out_std__string(soap, "lr", -1, &a->lr, "");
++ soap_out_std__string(soap, "ie", -1, &a->ie, "");
++ soap_out_std__string(soap, "oe", -1, &a->oe, "");
+ soap_element_end_out(soap, tag);
+ return SOAP_OK;
+ }
+@@ -2833,18 +2856,18 @@
+ if (soap->error)
+ return NULL;
+ }
+- if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_key > 0 || soap_flag_q > 0 || soap_flag_start > 0 || soap_flag_maxResults > 0 || soap_flag_filter > 0 || soap_flag_restrict_ > 0 || soap_flag_safeSearch > 0 || soap_flag_lr > 0 || soap_flag_ie > 0 || soap_flag_oe > 0))
+- { soap->error = SOAP_OCCURS;
+- return NULL;
+- }
+ if (soap_element_end_in(soap, tag))
+ return NULL;
+ }
+ else
+- { a = (struct gapi1__doGoogleSearch *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_gapi1__doGoogleSearch, 0, sizeof(struct gapi1__doGoogleSearch), 0, soap_copy_gapi1__doGoogleSearch);
++ { a = (struct gapi1__doGoogleSearch *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_gapi1__doGoogleSearch, 0, sizeof(struct gapi1__doGoogleSearch), 0, soap_copy_gapi1__doGoogleSearch);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
++ if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_key > 0 || soap_flag_q > 0 || soap_flag_start > 0 || soap_flag_maxResults > 0 || soap_flag_filter > 0 || soap_flag_restrict_ > 0 || soap_flag_safeSearch > 0 || soap_flag_lr > 0 || soap_flag_ie > 0 || soap_flag_oe > 0))
++ { soap->error = SOAP_OCCURS;
++ return NULL;
++ }
+ return a;
+ }
+
+@@ -2858,6 +2881,7 @@
+
+ SOAP_FMAC3 struct gapi1__doGoogleSearch * SOAP_FMAC4 soap_instantiate_gapi1__doGoogleSearch(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_gapi1__doGoogleSearch(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_gapi1__doGoogleSearch, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -2868,27 +2892,32 @@
+ }
+ else
+ { cp->ptr = (void*)new struct gapi1__doGoogleSearch[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct gapi1__doGoogleSearch);
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct gapi1__doGoogleSearch*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__doGoogleSearch(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct gapi1__doGoogleSearch %p -> %p\n", q, p));
+ *(struct gapi1__doGoogleSearch*)p = *(struct gapi1__doGoogleSearch*)q;
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGoogleSearchResponse(struct soap *soap, const struct gapi1__doGoogleSearchResponse *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doGoogleSearchResponse(struct soap *soap, struct gapi1__doGoogleSearchResponse *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_serialize_PointerTogapi1__GoogleSearchResult(soap, &a->return_);
++ a->return_ = NULL;
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doGoogleSearchResponse(struct soap *soap, struct gapi1__doGoogleSearchResponse *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGoogleSearchResponse(struct soap *soap, const struct gapi1__doGoogleSearchResponse *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- a->return_ = NULL;
++ soap_serialize_PointerTogapi1__GoogleSearchResult(soap, &a->return_);
+ }
+
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_gapi1__doGoogleSearchResponse(struct soap *soap, const struct gapi1__doGoogleSearchResponse *a, const char *tag, const char *type)
+@@ -2946,7 +2975,7 @@
+ return NULL;
+ }
+ else
+- { a = (struct gapi1__doGoogleSearchResponse *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_gapi1__doGoogleSearchResponse, 0, sizeof(struct gapi1__doGoogleSearchResponse), 0, NULL);
++ { a = (struct gapi1__doGoogleSearchResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_gapi1__doGoogleSearchResponse, 0, sizeof(struct gapi1__doGoogleSearchResponse), 0, NULL);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+@@ -2963,6 +2992,7 @@
+
+ SOAP_FMAC3 struct gapi1__doGoogleSearchResponse * SOAP_FMAC4 soap_instantiate_gapi1__doGoogleSearchResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_gapi1__doGoogleSearchResponse(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_gapi1__doGoogleSearchResponse, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -2973,29 +3003,34 @@
+ }
+ else
+ { cp->ptr = (void*)new struct gapi1__doGoogleSearchResponse[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct gapi1__doGoogleSearchResponse);
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct gapi1__doGoogleSearchResponse*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__doGoogleSearchResponse(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct gapi1__doGoogleSearchResponse %p -> %p\n", q, p));
+ *(struct gapi1__doGoogleSearchResponse*)p = *(struct gapi1__doGoogleSearchResponse*)q;
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doSpellingSuggestion(struct soap *soap, const struct gapi1__doSpellingSuggestion *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doSpellingSuggestion(struct soap *soap, struct gapi1__doSpellingSuggestion *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_serialize_std__string(soap, &a->key);
+- soap_serialize_std__string(soap, &a->phrase);
++ soap_default_std__string(soap, &a->key);
++ soap_default_std__string(soap, &a->phrase);
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doSpellingSuggestion(struct soap *soap, struct gapi1__doSpellingSuggestion *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doSpellingSuggestion(struct soap *soap, const struct gapi1__doSpellingSuggestion *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_default_std__string(soap, &a->key);
+- soap_default_std__string(soap, &a->phrase);
++ soap_serialize_std__string(soap, &a->key);
++ soap_serialize_std__string(soap, &a->phrase);
+ }
+
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_gapi1__doSpellingSuggestion(struct soap *soap, const struct gapi1__doSpellingSuggestion *a, const char *tag, const char *type)
+@@ -3052,18 +3087,18 @@
+ if (soap->error)
+ return NULL;
+ }
+- if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_key > 0 || soap_flag_phrase > 0))
+- { soap->error = SOAP_OCCURS;
+- return NULL;
+- }
+ if (soap_element_end_in(soap, tag))
+ return NULL;
+ }
+ else
+- { a = (struct gapi1__doSpellingSuggestion *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_gapi1__doSpellingSuggestion, 0, sizeof(struct gapi1__doSpellingSuggestion), 0, soap_copy_gapi1__doSpellingSuggestion);
++ { a = (struct gapi1__doSpellingSuggestion *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_gapi1__doSpellingSuggestion, 0, sizeof(struct gapi1__doSpellingSuggestion), 0, soap_copy_gapi1__doSpellingSuggestion);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
++ if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_key > 0 || soap_flag_phrase > 0))
++ { soap->error = SOAP_OCCURS;
++ return NULL;
++ }
+ return a;
+ }
+
+@@ -3077,6 +3112,7 @@
+
+ SOAP_FMAC3 struct gapi1__doSpellingSuggestion * SOAP_FMAC4 soap_instantiate_gapi1__doSpellingSuggestion(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_gapi1__doSpellingSuggestion(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_gapi1__doSpellingSuggestion, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -3087,27 +3123,32 @@
+ }
+ else
+ { cp->ptr = (void*)new struct gapi1__doSpellingSuggestion[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct gapi1__doSpellingSuggestion);
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct gapi1__doSpellingSuggestion*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__doSpellingSuggestion(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct gapi1__doSpellingSuggestion %p -> %p\n", q, p));
+ *(struct gapi1__doSpellingSuggestion*)p = *(struct gapi1__doSpellingSuggestion*)q;
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doSpellingSuggestionResponse(struct soap *soap, const struct gapi1__doSpellingSuggestionResponse *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doSpellingSuggestionResponse(struct soap *soap, struct gapi1__doSpellingSuggestionResponse *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_serialize_std__string(soap, &a->return_);
++ soap_default_std__string(soap, &a->return_);
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doSpellingSuggestionResponse(struct soap *soap, struct gapi1__doSpellingSuggestionResponse *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doSpellingSuggestionResponse(struct soap *soap, const struct gapi1__doSpellingSuggestionResponse *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_default_std__string(soap, &a->return_);
++ soap_serialize_std__string(soap, &a->return_);
+ }
+
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_gapi1__doSpellingSuggestionResponse(struct soap *soap, const struct gapi1__doSpellingSuggestionResponse *a, const char *tag, const char *type)
+@@ -3160,18 +3201,18 @@
+ if (soap->error)
+ return NULL;
+ }
+- if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_return_ > 0))
+- { soap->error = SOAP_OCCURS;
+- return NULL;
+- }
+ if (soap_element_end_in(soap, tag))
+ return NULL;
+ }
+ else
+- { a = (struct gapi1__doSpellingSuggestionResponse *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_gapi1__doSpellingSuggestionResponse, 0, sizeof(struct gapi1__doSpellingSuggestionResponse), 0, soap_copy_gapi1__doSpellingSuggestionResponse);
++ { a = (struct gapi1__doSpellingSuggestionResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_gapi1__doSpellingSuggestionResponse, 0, sizeof(struct gapi1__doSpellingSuggestionResponse), 0, soap_copy_gapi1__doSpellingSuggestionResponse);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
++ if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_return_ > 0))
++ { soap->error = SOAP_OCCURS;
++ return NULL;
++ }
+ return a;
+ }
+
+@@ -3185,6 +3226,7 @@
+
+ SOAP_FMAC3 struct gapi1__doSpellingSuggestionResponse * SOAP_FMAC4 soap_instantiate_gapi1__doSpellingSuggestionResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_gapi1__doSpellingSuggestionResponse(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_gapi1__doSpellingSuggestionResponse, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -3195,29 +3237,34 @@
+ }
+ else
+ { cp->ptr = (void*)new struct gapi1__doSpellingSuggestionResponse[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct gapi1__doSpellingSuggestionResponse);
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct gapi1__doSpellingSuggestionResponse*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__doSpellingSuggestionResponse(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct gapi1__doSpellingSuggestionResponse %p -> %p\n", q, p));
+ *(struct gapi1__doSpellingSuggestionResponse*)p = *(struct gapi1__doSpellingSuggestionResponse*)q;
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGetCachedPage(struct soap *soap, const struct gapi1__doGetCachedPage *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doGetCachedPage(struct soap *soap, struct gapi1__doGetCachedPage *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_serialize_std__string(soap, &a->key);
+- soap_serialize_std__string(soap, &a->url);
++ soap_default_std__string(soap, &a->key);
++ soap_default_std__string(soap, &a->url);
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doGetCachedPage(struct soap *soap, struct gapi1__doGetCachedPage *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGetCachedPage(struct soap *soap, const struct gapi1__doGetCachedPage *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_default_std__string(soap, &a->key);
+- soap_default_std__string(soap, &a->url);
++ soap_serialize_std__string(soap, &a->key);
++ soap_serialize_std__string(soap, &a->url);
+ }
+
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_gapi1__doGetCachedPage(struct soap *soap, const struct gapi1__doGetCachedPage *a, const char *tag, const char *type)
+@@ -3274,18 +3321,18 @@
+ if (soap->error)
+ return NULL;
+ }
+- if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_key > 0 || soap_flag_url > 0))
+- { soap->error = SOAP_OCCURS;
+- return NULL;
+- }
+ if (soap_element_end_in(soap, tag))
+ return NULL;
+ }
+ else
+- { a = (struct gapi1__doGetCachedPage *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_gapi1__doGetCachedPage, 0, sizeof(struct gapi1__doGetCachedPage), 0, soap_copy_gapi1__doGetCachedPage);
++ { a = (struct gapi1__doGetCachedPage *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_gapi1__doGetCachedPage, 0, sizeof(struct gapi1__doGetCachedPage), 0, soap_copy_gapi1__doGetCachedPage);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
++ if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_key > 0 || soap_flag_url > 0))
++ { soap->error = SOAP_OCCURS;
++ return NULL;
++ }
+ return a;
+ }
+
+@@ -3299,6 +3346,7 @@
+
+ SOAP_FMAC3 struct gapi1__doGetCachedPage * SOAP_FMAC4 soap_instantiate_gapi1__doGetCachedPage(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_gapi1__doGetCachedPage(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_gapi1__doGetCachedPage, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -3309,27 +3357,32 @@
+ }
+ else
+ { cp->ptr = (void*)new struct gapi1__doGetCachedPage[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct gapi1__doGetCachedPage);
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct gapi1__doGetCachedPage*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__doGetCachedPage(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct gapi1__doGetCachedPage %p -> %p\n", q, p));
+ *(struct gapi1__doGetCachedPage*)p = *(struct gapi1__doGetCachedPage*)q;
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGetCachedPageResponse(struct soap *soap, const struct gapi1__doGetCachedPageResponse *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doGetCachedPageResponse(struct soap *soap, struct gapi1__doGetCachedPageResponse *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- a->return_.soap_serialize(soap);
++ a->return_.xsd__base64Binary::soap_default(soap);
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doGetCachedPageResponse(struct soap *soap, struct gapi1__doGetCachedPageResponse *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGetCachedPageResponse(struct soap *soap, const struct gapi1__doGetCachedPageResponse *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- a->return_.xsd__base64Binary::soap_default(soap);
++ a->return_.soap_serialize(soap);
+ }
+
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_gapi1__doGetCachedPageResponse(struct soap *soap, const struct gapi1__doGetCachedPageResponse *a, const char *tag, const char *type)
+@@ -3382,18 +3435,18 @@
+ if (soap->error)
+ return NULL;
+ }
+- if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_return_ > 0))
+- { soap->error = SOAP_OCCURS;
+- return NULL;
+- }
+ if (soap_element_end_in(soap, tag))
+ return NULL;
+ }
+ else
+- { a = (struct gapi1__doGetCachedPageResponse *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_gapi1__doGetCachedPageResponse, 0, sizeof(struct gapi1__doGetCachedPageResponse), 0, soap_copy_gapi1__doGetCachedPageResponse);
++ { a = (struct gapi1__doGetCachedPageResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_gapi1__doGetCachedPageResponse, 0, sizeof(struct gapi1__doGetCachedPageResponse), 0, soap_copy_gapi1__doGetCachedPageResponse);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
++ if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_return_ > 0))
++ { soap->error = SOAP_OCCURS;
++ return NULL;
++ }
+ return a;
+ }
+
+@@ -3407,6 +3460,7 @@
+
+ SOAP_FMAC3 struct gapi1__doGetCachedPageResponse * SOAP_FMAC4 soap_instantiate_gapi1__doGetCachedPageResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_gapi1__doGetCachedPageResponse(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_gapi1__doGetCachedPageResponse, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+@@ -3417,14 +3471,19 @@
+ }
+ else
+ { cp->ptr = (void*)new struct gapi1__doGetCachedPageResponse[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct gapi1__doGetCachedPageResponse);
+ }
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct gapi1__doGetCachedPageResponse*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__doGetCachedPageResponse(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
++ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct gapi1__doGetCachedPageResponse %p -> %p\n", q, p));
+ *(struct gapi1__doGetCachedPageResponse*)p = *(struct gapi1__doGetCachedPageResponse*)q;
+ }
+
+diff -Naur ./Search/Google/GAPIClient.cpp ./Search/Google/GAPIClient.cpp
+--- ./Search/Google/GAPIClient.cpp 2006-11-22 20:30:01.000000000 +0800
++++ ./Search/Google/GAPIClient.cpp 2007-07-29 18:34:02.000000000 +0800
+@@ -1,12 +1,12 @@
+ /* GAPIClient.cpp
+- Generated by gSOAP 2.7.8c from GoogleSearch.h
+- Copyright (C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
++ Generated by gSOAP 2.7.9e from GoogleSearch.h
++ Copyright(C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
+ This part of the software is released under one of the following licenses:
+ GPL, the gSOAP public license, or Genivia's license for commercial use.
+ */
+ #include "GAPIH.h"
+
+-SOAP_SOURCE_STAMP("@(#) GAPIClient.cpp ver 2.7.8c 2006-11-22 12:30:01 GMT")
++SOAP_SOURCE_STAMP("@(#) GAPIClient.cpp ver 2.7.9e 2007-07-29 10:34:02 GMT")
+
+
+ SOAP_FMAC5 int SOAP_FMAC6 soap_call_gapi1__doGetCachedPage(struct soap *soap, const char *soap_endpoint, const char *soap_action, std::string key, std::string url, xsd__base64Binary &return_)
+diff -Naur ./Search/Google/GAPIClientLib.cpp ./Search/Google/GAPIClientLib.cpp
+--- ./Search/Google/GAPIClientLib.cpp 2006-11-22 20:30:01.000000000 +0800
++++ ./Search/Google/GAPIClientLib.cpp 2007-07-29 18:34:02.000000000 +0800
+@@ -1,6 +1,6 @@
+ /* GAPIClientLib.cpp
+- Generated by gSOAP 2.7.8c from GoogleSearch.h
+- Copyright (C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
++ Generated by gSOAP 2.7.9e from GoogleSearch.h
++ Copyright(C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
+ This part of the software is released under one of the following licenses:
+ GPL, the gSOAP public license, or Genivia's license for commercial use.
+ */
+diff -Naur ./Search/Google/GAPIGoogleSearchBindingProxy.h ./Search/Google/GAPIGoogleSearchBindingProxy.h
+--- ./Search/Google/GAPIGoogleSearchBindingProxy.h 2006-11-22 20:30:01.000000000 +0800
++++ ./Search/Google/GAPIGoogleSearchBindingProxy.h 2007-07-29 18:34:02.000000000 +0800
+@@ -1,6 +1,6 @@
+ /* GAPIGoogleSearchBindingProxy.h
+- Generated by gSOAP 2.7.8c from GoogleSearch.h
+- Copyright (C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
++ Generated by gSOAP 2.7.9e from GoogleSearch.h
++ Copyright(C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
+ This part of the software is released under one of the following licenses:
+ GPL, the gSOAP public license, or Genivia's license for commercial use.
+ */
+@@ -14,7 +14,7 @@
+ struct soap *soap;
+ const char *endpoint;
+ GoogleSearchBinding() { soap = soap_new(); if (soap) soap->namespaces = GAPI_namespaces; endpoint = "http://api.google.com/search/beta2"; };
+- virtual ~GoogleSearchBinding() { if (soap) { soap_destroy(soap); soap_end(soap); soap_done(soap); soap_del(soap); } };
++ virtual ~GoogleSearchBinding() { if (soap) { soap_destroy(soap); soap_end(soap); soap_free(soap); } };
+ virtual int gapi1__doGetCachedPage(std::string key, std::string url, xsd__base64Binary &return_) { return soap ? soap_call_gapi1__doGetCachedPage(soap, endpoint, NULL, key, url, return_) : SOAP_EOM; };
+ virtual int gapi1__doSpellingSuggestion(std::string key, std::string phrase, std::string &return_) { return soap ? soap_call_gapi1__doSpellingSuggestion(soap, endpoint, NULL, key, phrase, return_) : SOAP_EOM; };
+ virtual int gapi1__doGoogleSearch(std::string key, std::string q, int start, int maxResults, bool filter, std::string restrict_, bool safeSearch, std::string lr, std::string ie, std::string oe, struct gapi1__doGoogleSearchResponse &_param_1) { return soap ? soap_call_gapi1__doGoogleSearch(soap, endpoint, NULL, key, q, start, maxResults, filter, restrict_, safeSearch, lr, ie, oe, _param_1) : SOAP_EOM; };
+diff -Naur ./Search/Google/GAPIH.h ./Search/Google/GAPIH.h
+--- ./Search/Google/GAPIH.h 2006-11-22 20:30:01.000000000 +0800
++++ ./Search/Google/GAPIH.h 2007-07-29 18:34:02.000000000 +0800
+@@ -1,6 +1,6 @@
+ /* GAPIH.h
+- Generated by gSOAP 2.7.8c from GoogleSearch.h
+- Copyright (C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
++ Generated by gSOAP 2.7.9e from GoogleSearch.h
++ Copyright(C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
+ This part of the software is released under one of the following licenses:
+ GPL, the gSOAP public license, or Genivia's license for commercial use.
+ */
+@@ -8,17 +8,25 @@
+ #ifndef GAPIH_H
+ #define GAPIH_H
+ #include "GAPIStub.h"
+-SOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap*);
+ #ifndef WITH_NOIDREF
+-SOAP_FMAC3 int SOAP_FMAC4 soap_putindependent(struct soap*);
+-SOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap*);
++
++#ifdef __cplusplus
++extern "C" {
++#endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap*, const void*, int);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap*, const void*, const char*, int, int);
+-SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap*, int*);
++SOAP_FMAC3 void *SOAP_FMAC4 soap_getelement(struct soap*, int*);
++
++#ifdef __cplusplus
++}
+ #endif
++SOAP_FMAC3 int SOAP_FMAC4 soap_putindependent(struct soap*);
++SOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap*);
++#endif
++SOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap*);
+
+ SOAP_FMAC3 void * SOAP_FMAC4 soap_instantiate(struct soap*, int, const char*, const char*, size_t*);
+-SOAP_FMAC3 void SOAP_FMAC4 soap_fdelete(struct soap_clist*);
++SOAP_FMAC3 int SOAP_FMAC4 soap_fdelete(struct soap_clist*);
+ SOAP_FMAC3 void* SOAP_FMAC4 soap_class_id_enter(struct soap*, const char*, void*, int, size_t, const char*, const char*);
+
+ SOAP_FMAC3 void* SOAP_FMAC4 soap_container_id_forward(struct soap*, const char*, void*, size_t, int, int, size_t, unsigned int);
+@@ -44,7 +52,7 @@
+ SOAP_FMAC3 int * SOAP_FMAC4 soap_in_int(struct soap*, const char*, int *, const char*);
+
+ #ifndef SOAP_TYPE_double
+-#define SOAP_TYPE_double (23)
++#define SOAP_TYPE_double (22)
+ #endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_double(struct soap*, double *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_double(struct soap*, const double *, const char*, const char*);
+@@ -71,7 +79,7 @@
+ SOAP_FMAC3 unsigned int * SOAP_FMAC4 soap_in_unsignedInt(struct soap*, const char*, unsigned int *, const char*);
+
+ #ifndef SOAP_TYPE_bool
+-#define SOAP_TYPE_bool (20)
++#define SOAP_TYPE_bool (18)
+ #endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_bool(struct soap*, bool *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_bool(struct soap*, const bool *, const char*, const char*);
+@@ -83,8 +91,22 @@
+
+ SOAP_FMAC3S int SOAP_FMAC4S soap_s2bool(struct soap*, const char*, bool *);
+
++#ifndef SOAP_TYPE_std__string
++#define SOAP_TYPE_std__string (19)
++#endif
++SOAP_FMAC3 void SOAP_FMAC4 soap_default_std__string(struct soap*, std::string *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_std__string(struct soap*, const std::string *);
++SOAP_FMAC3 int SOAP_FMAC4 soap_put_std__string(struct soap*, const std::string *, const char*, const char*);
++SOAP_FMAC3 int SOAP_FMAC4 soap_out_std__string(struct soap*, const char*, int, const std::string*, const char*);
++SOAP_FMAC3 std::string * SOAP_FMAC4 soap_get_std__string(struct soap*, std::string *, const char*, const char*);
++SOAP_FMAC3 std::string * SOAP_FMAC4 soap_in_std__string(struct soap*, const char*, std::string*, const char*);
++SOAP_FMAC5 std::string * SOAP_FMAC6 soap_new_std__string(struct soap*, int);
++SOAP_FMAC5 void SOAP_FMAC6 soap_delete_std__string(struct soap*, std::string*);
++SOAP_FMAC3 std::string * SOAP_FMAC4 soap_instantiate_std__string(struct soap*, int, const char*, const char*, size_t*);
++SOAP_FMAC3 void SOAP_FMAC4 soap_copy_std__string(struct soap*, int, int, void*, size_t, const void*, size_t);
++
+ #ifndef SOAP_TYPE_gapi1__DirectoryCategory
+-#define SOAP_TYPE_gapi1__DirectoryCategory (19)
++#define SOAP_TYPE_gapi1__DirectoryCategory (17)
+ #endif
+
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_gapi1__DirectoryCategory(struct soap*, const char*, int, const gapi1__DirectoryCategory *, const char*);
+@@ -96,7 +118,7 @@
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__DirectoryCategory(struct soap*, int, int, void*, size_t, const void*, size_t);
+
+ #ifndef SOAP_TYPE_gapi1DirectoryCategoryArray
+-#define SOAP_TYPE_gapi1DirectoryCategoryArray (18)
++#define SOAP_TYPE_gapi1DirectoryCategoryArray (16)
+ #endif
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_gapi1DirectoryCategoryArray(struct soap*, const char*, int, const gapi1DirectoryCategoryArray *, const char*);
+ SOAP_FMAC3 gapi1DirectoryCategoryArray * SOAP_FMAC4 soap_get_gapi1DirectoryCategoryArray(struct soap*, gapi1DirectoryCategoryArray *, const char*, const char*);
+@@ -107,7 +129,7 @@
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1DirectoryCategoryArray(struct soap*, int, int, void*, size_t, const void*, size_t);
+
+ #ifndef SOAP_TYPE_gapi1ResultElementArray
+-#define SOAP_TYPE_gapi1ResultElementArray (17)
++#define SOAP_TYPE_gapi1ResultElementArray (15)
+ #endif
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_gapi1ResultElementArray(struct soap*, const char*, int, const gapi1ResultElementArray *, const char*);
+ SOAP_FMAC3 gapi1ResultElementArray * SOAP_FMAC4 soap_get_gapi1ResultElementArray(struct soap*, gapi1ResultElementArray *, const char*, const char*);
+@@ -118,7 +140,7 @@
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1ResultElementArray(struct soap*, int, int, void*, size_t, const void*, size_t);
+
+ #ifndef SOAP_TYPE_gapi1__ResultElement
+-#define SOAP_TYPE_gapi1__ResultElement (16)
++#define SOAP_TYPE_gapi1__ResultElement (14)
+ #endif
+
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_gapi1__ResultElement(struct soap*, const char*, int, const gapi1__ResultElement *, const char*);
+@@ -130,7 +152,7 @@
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__ResultElement(struct soap*, int, int, void*, size_t, const void*, size_t);
+
+ #ifndef SOAP_TYPE_gapi1__GoogleSearchResult
+-#define SOAP_TYPE_gapi1__GoogleSearchResult (15)
++#define SOAP_TYPE_gapi1__GoogleSearchResult (13)
+ #endif
+
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_gapi1__GoogleSearchResult(struct soap*, const char*, int, const gapi1__GoogleSearchResult *, const char*);
+@@ -141,34 +163,6 @@
+ SOAP_FMAC3 gapi1__GoogleSearchResult * SOAP_FMAC4 soap_instantiate_gapi1__GoogleSearchResult(struct soap*, int, const char*, const char*, size_t*);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__GoogleSearchResult(struct soap*, int, int, void*, size_t, const void*, size_t);
+
+-#ifndef SOAP_TYPE__SOAP_ENC__arrayType
+-#define SOAP_TYPE__SOAP_ENC__arrayType (14)
+-#endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__SOAP_ENC__arrayType(struct soap*, std::string const*);
+-SOAP_FMAC3 void SOAP_FMAC4 soap_default__SOAP_ENC__arrayType(struct soap*, std::string *);
+-SOAP_FMAC3 int SOAP_FMAC4 soap_put__SOAP_ENC__arrayType(struct soap*, const std::string *, const char*, const char*);
+-SOAP_FMAC3 int SOAP_FMAC4 soap_out__SOAP_ENC__arrayType(struct soap*, const char*, int, const std::string*, const char*);
+-SOAP_FMAC3 std::string * SOAP_FMAC4 soap_get__SOAP_ENC__arrayType(struct soap*, std::string *, const char*, const char*);
+-SOAP_FMAC3 std::string * SOAP_FMAC4 soap_in__SOAP_ENC__arrayType(struct soap*, const char*, std::string*, const char*);
+-SOAP_FMAC5 std::string * SOAP_FMAC6 soap_new__SOAP_ENC__arrayType(struct soap*, int);
+-SOAP_FMAC5 void SOAP_FMAC6 soap_delete__SOAP_ENC__arrayType(struct soap*, std::string*);
+-SOAP_FMAC3 std::string * SOAP_FMAC4 soap_instantiate__SOAP_ENC__arrayType(struct soap*, int, const char*, const char*, size_t*);
+-SOAP_FMAC3 void SOAP_FMAC4 soap_copy__SOAP_ENC__arrayType(struct soap*, int, int, void*, size_t, const void*, size_t);
+-
+-#ifndef SOAP_TYPE_std__string
+-#define SOAP_TYPE_std__string (13)
+-#endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_std__string(struct soap*, const std::string *);
+-SOAP_FMAC3 void SOAP_FMAC4 soap_default_std__string(struct soap*, std::string *);
+-SOAP_FMAC3 int SOAP_FMAC4 soap_put_std__string(struct soap*, const std::string *, const char*, const char*);
+-SOAP_FMAC3 int SOAP_FMAC4 soap_out_std__string(struct soap*, const char*, int, const std::string*, const char*);
+-SOAP_FMAC3 std::string * SOAP_FMAC4 soap_get_std__string(struct soap*, std::string *, const char*, const char*);
+-SOAP_FMAC3 std::string * SOAP_FMAC4 soap_in_std__string(struct soap*, const char*, std::string*, const char*);
+-SOAP_FMAC5 std::string * SOAP_FMAC6 soap_new_std__string(struct soap*, int);
+-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_std__string(struct soap*, std::string*);
+-SOAP_FMAC3 std::string * SOAP_FMAC4 soap_instantiate_std__string(struct soap*, int, const char*, const char*, size_t*);
+-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_std__string(struct soap*, int, int, void*, size_t, const void*, size_t);
+-
+ #ifndef SOAP_TYPE_xsd__base64Binary
+ #define SOAP_TYPE_xsd__base64Binary (7)
+ #endif
+@@ -183,10 +177,10 @@
+ #ifndef WITH_NOGLOBAL
+
+ #ifndef SOAP_TYPE_SOAP_ENV__Fault
+-#define SOAP_TYPE_SOAP_ENV__Fault (48)
++#define SOAP_TYPE_SOAP_ENV__Fault (47)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap*, const struct SOAP_ENV__Fault *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Fault(struct soap*, struct SOAP_ENV__Fault *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap*, const struct SOAP_ENV__Fault *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Fault(struct soap*, const struct SOAP_ENV__Fault *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Fault(struct soap*, const char*, int, const struct SOAP_ENV__Fault *, const char*);
+ SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_get_SOAP_ENV__Fault(struct soap*, struct SOAP_ENV__Fault *, const char*, const char*);
+@@ -201,10 +195,10 @@
+ #ifndef WITH_NOGLOBAL
+
+ #ifndef SOAP_TYPE_SOAP_ENV__Reason
+-#define SOAP_TYPE_SOAP_ENV__Reason (47)
++#define SOAP_TYPE_SOAP_ENV__Reason (46)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap*, const struct SOAP_ENV__Reason *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap*, const struct SOAP_ENV__Reason *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Reason(struct soap*, const struct SOAP_ENV__Reason *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Reason(struct soap*, const char*, int, const struct SOAP_ENV__Reason *, const char*);
+ SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_get_SOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *, const char*, const char*);
+@@ -219,10 +213,10 @@
+ #ifndef WITH_NOGLOBAL
+
+ #ifndef SOAP_TYPE_SOAP_ENV__Detail
+-#define SOAP_TYPE_SOAP_ENV__Detail (46)
++#define SOAP_TYPE_SOAP_ENV__Detail (45)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap*, const struct SOAP_ENV__Detail *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap*, const struct SOAP_ENV__Detail *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Detail(struct soap*, const struct SOAP_ENV__Detail *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Detail(struct soap*, const char*, int, const struct SOAP_ENV__Detail *, const char*);
+ SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_get_SOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *, const char*, const char*);
+@@ -237,10 +231,10 @@
+ #ifndef WITH_NOGLOBAL
+
+ #ifndef SOAP_TYPE_SOAP_ENV__Code
+-#define SOAP_TYPE_SOAP_ENV__Code (44)
++#define SOAP_TYPE_SOAP_ENV__Code (43)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap*, const struct SOAP_ENV__Code *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap*, const struct SOAP_ENV__Code *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Code(struct soap*, const struct SOAP_ENV__Code *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Code(struct soap*, const char*, int, const struct SOAP_ENV__Code *, const char*);
+ SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_get_SOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *, const char*, const char*);
+@@ -255,10 +249,10 @@
+ #ifndef WITH_NOGLOBAL
+
+ #ifndef SOAP_TYPE_SOAP_ENV__Header
+-#define SOAP_TYPE_SOAP_ENV__Header (43)
++#define SOAP_TYPE_SOAP_ENV__Header (42)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap*, const struct SOAP_ENV__Header *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Header(struct soap*, struct SOAP_ENV__Header *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap*, const struct SOAP_ENV__Header *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Header(struct soap*, const struct SOAP_ENV__Header *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Header(struct soap*, const char*, int, const struct SOAP_ENV__Header *, const char*);
+ SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_get_SOAP_ENV__Header(struct soap*, struct SOAP_ENV__Header *, const char*, const char*);
+@@ -271,10 +265,10 @@
+ #endif
+
+ #ifndef SOAP_TYPE_gapi1__doGoogleSearch
+-#define SOAP_TYPE_gapi1__doGoogleSearch (40)
++#define SOAP_TYPE_gapi1__doGoogleSearch (39)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGoogleSearch(struct soap*, const struct gapi1__doGoogleSearch *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doGoogleSearch(struct soap*, struct gapi1__doGoogleSearch *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGoogleSearch(struct soap*, const struct gapi1__doGoogleSearch *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_gapi1__doGoogleSearch(struct soap*, const struct gapi1__doGoogleSearch *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_gapi1__doGoogleSearch(struct soap*, const char*, int, const struct gapi1__doGoogleSearch *, const char*);
+ SOAP_FMAC3 struct gapi1__doGoogleSearch * SOAP_FMAC4 soap_get_gapi1__doGoogleSearch(struct soap*, struct gapi1__doGoogleSearch *, const char*, const char*);
+@@ -285,10 +279,10 @@
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__doGoogleSearch(struct soap*, int, int, void*, size_t, const void*, size_t);
+
+ #ifndef SOAP_TYPE_gapi1__doGoogleSearchResponse
+-#define SOAP_TYPE_gapi1__doGoogleSearchResponse (36)
++#define SOAP_TYPE_gapi1__doGoogleSearchResponse (35)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGoogleSearchResponse(struct soap*, const struct gapi1__doGoogleSearchResponse *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doGoogleSearchResponse(struct soap*, struct gapi1__doGoogleSearchResponse *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGoogleSearchResponse(struct soap*, const struct gapi1__doGoogleSearchResponse *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_gapi1__doGoogleSearchResponse(struct soap*, const struct gapi1__doGoogleSearchResponse *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_gapi1__doGoogleSearchResponse(struct soap*, const char*, int, const struct gapi1__doGoogleSearchResponse *, const char*);
+ SOAP_FMAC3 struct gapi1__doGoogleSearchResponse * SOAP_FMAC4 soap_get_gapi1__doGoogleSearchResponse(struct soap*, struct gapi1__doGoogleSearchResponse *, const char*, const char*);
+@@ -299,10 +293,10 @@
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__doGoogleSearchResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
+
+ #ifndef SOAP_TYPE_gapi1__doSpellingSuggestion
+-#define SOAP_TYPE_gapi1__doSpellingSuggestion (35)
++#define SOAP_TYPE_gapi1__doSpellingSuggestion (34)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doSpellingSuggestion(struct soap*, const struct gapi1__doSpellingSuggestion *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doSpellingSuggestion(struct soap*, struct gapi1__doSpellingSuggestion *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doSpellingSuggestion(struct soap*, const struct gapi1__doSpellingSuggestion *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_gapi1__doSpellingSuggestion(struct soap*, const struct gapi1__doSpellingSuggestion *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_gapi1__doSpellingSuggestion(struct soap*, const char*, int, const struct gapi1__doSpellingSuggestion *, const char*);
+ SOAP_FMAC3 struct gapi1__doSpellingSuggestion * SOAP_FMAC4 soap_get_gapi1__doSpellingSuggestion(struct soap*, struct gapi1__doSpellingSuggestion *, const char*, const char*);
+@@ -313,10 +307,10 @@
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__doSpellingSuggestion(struct soap*, int, int, void*, size_t, const void*, size_t);
+
+ #ifndef SOAP_TYPE_gapi1__doSpellingSuggestionResponse
+-#define SOAP_TYPE_gapi1__doSpellingSuggestionResponse (34)
++#define SOAP_TYPE_gapi1__doSpellingSuggestionResponse (33)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doSpellingSuggestionResponse(struct soap*, const struct gapi1__doSpellingSuggestionResponse *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doSpellingSuggestionResponse(struct soap*, struct gapi1__doSpellingSuggestionResponse *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doSpellingSuggestionResponse(struct soap*, const struct gapi1__doSpellingSuggestionResponse *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_gapi1__doSpellingSuggestionResponse(struct soap*, const struct gapi1__doSpellingSuggestionResponse *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_gapi1__doSpellingSuggestionResponse(struct soap*, const char*, int, const struct gapi1__doSpellingSuggestionResponse *, const char*);
+ SOAP_FMAC3 struct gapi1__doSpellingSuggestionResponse * SOAP_FMAC4 soap_get_gapi1__doSpellingSuggestionResponse(struct soap*, struct gapi1__doSpellingSuggestionResponse *, const char*, const char*);
+@@ -327,10 +321,10 @@
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__doSpellingSuggestionResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
+
+ #ifndef SOAP_TYPE_gapi1__doGetCachedPage
+-#define SOAP_TYPE_gapi1__doGetCachedPage (31)
++#define SOAP_TYPE_gapi1__doGetCachedPage (30)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGetCachedPage(struct soap*, const struct gapi1__doGetCachedPage *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doGetCachedPage(struct soap*, struct gapi1__doGetCachedPage *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGetCachedPage(struct soap*, const struct gapi1__doGetCachedPage *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_gapi1__doGetCachedPage(struct soap*, const struct gapi1__doGetCachedPage *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_gapi1__doGetCachedPage(struct soap*, const char*, int, const struct gapi1__doGetCachedPage *, const char*);
+ SOAP_FMAC3 struct gapi1__doGetCachedPage * SOAP_FMAC4 soap_get_gapi1__doGetCachedPage(struct soap*, struct gapi1__doGetCachedPage *, const char*, const char*);
+@@ -341,10 +335,10 @@
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_gapi1__doGetCachedPage(struct soap*, int, int, void*, size_t, const void*, size_t);
+
+ #ifndef SOAP_TYPE_gapi1__doGetCachedPageResponse
+-#define SOAP_TYPE_gapi1__doGetCachedPageResponse (30)
++#define SOAP_TYPE_gapi1__doGetCachedPageResponse (29)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGetCachedPageResponse(struct soap*, const struct gapi1__doGetCachedPageResponse *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_gapi1__doGetCachedPageResponse(struct soap*, struct gapi1__doGetCachedPageResponse *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_gapi1__doGetCachedPageResponse(struct soap*, const struct gapi1__doGetCachedPageResponse *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_gapi1__doGetCachedPageResponse(struct soap*, const struct gapi1__doGetCachedPageResponse *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_gapi1__doGetCachedPageResponse(struct soap*, const char*, int, const struct gapi1__doGetCachedPageResponse *, const char*);
+ SOAP_FMAC3 struct gapi1__doGetCachedPageResponse * SOAP_FMAC4 soap_get_gapi1__doGetCachedPageResponse(struct soap*, struct gapi1__doGetCachedPageResponse *, const char*, const char*);
+@@ -357,7 +351,7 @@
+ #ifndef WITH_NOGLOBAL
+
+ #ifndef SOAP_TYPE_PointerToSOAP_ENV__Reason
+-#define SOAP_TYPE_PointerToSOAP_ENV__Reason (50)
++#define SOAP_TYPE_PointerToSOAP_ENV__Reason (49)
+ #endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *const*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *const*, const char*, const char*);
+@@ -370,7 +364,7 @@
+ #ifndef WITH_NOGLOBAL
+
+ #ifndef SOAP_TYPE_PointerToSOAP_ENV__Detail
+-#define SOAP_TYPE_PointerToSOAP_ENV__Detail (49)
++#define SOAP_TYPE_PointerToSOAP_ENV__Detail (48)
+ #endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *const*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *const*, const char*, const char*);
+@@ -383,7 +377,7 @@
+ #ifndef WITH_NOGLOBAL
+
+ #ifndef SOAP_TYPE_PointerToSOAP_ENV__Code
+-#define SOAP_TYPE_PointerToSOAP_ENV__Code (45)
++#define SOAP_TYPE_PointerToSOAP_ENV__Code (44)
+ #endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *const*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *const*, const char*, const char*);
+@@ -394,7 +388,7 @@
+ #endif
+
+ #ifndef SOAP_TYPE_PointerTogapi1__GoogleSearchResult
+-#define SOAP_TYPE_PointerTogapi1__GoogleSearchResult (37)
++#define SOAP_TYPE_PointerTogapi1__GoogleSearchResult (36)
+ #endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTogapi1__GoogleSearchResult(struct soap*, gapi1__GoogleSearchResult *const*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTogapi1__GoogleSearchResult(struct soap*, gapi1__GoogleSearchResult *const*, const char*, const char*);
+@@ -403,7 +397,7 @@
+ SOAP_FMAC3 gapi1__GoogleSearchResult ** SOAP_FMAC4 soap_in_PointerTogapi1__GoogleSearchResult(struct soap*, const char*, gapi1__GoogleSearchResult **, const char*);
+
+ #ifndef SOAP_TYPE_PointerToPointerTogapi1__DirectoryCategory
+-#define SOAP_TYPE_PointerToPointerTogapi1__DirectoryCategory (27)
++#define SOAP_TYPE_PointerToPointerTogapi1__DirectoryCategory (26)
+ #endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToPointerTogapi1__DirectoryCategory(struct soap*, gapi1__DirectoryCategory **const*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToPointerTogapi1__DirectoryCategory(struct soap*, gapi1__DirectoryCategory **const*, const char*, const char*);
+@@ -412,7 +406,7 @@
+ SOAP_FMAC3 gapi1__DirectoryCategory *** SOAP_FMAC4 soap_in_PointerToPointerTogapi1__DirectoryCategory(struct soap*, const char*, gapi1__DirectoryCategory ***, const char*);
+
+ #ifndef SOAP_TYPE_PointerToPointerTogapi1__ResultElement
+-#define SOAP_TYPE_PointerToPointerTogapi1__ResultElement (26)
++#define SOAP_TYPE_PointerToPointerTogapi1__ResultElement (25)
+ #endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToPointerTogapi1__ResultElement(struct soap*, gapi1__ResultElement **const*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToPointerTogapi1__ResultElement(struct soap*, gapi1__ResultElement **const*, const char*, const char*);
+@@ -421,7 +415,7 @@
+ SOAP_FMAC3 gapi1__ResultElement *** SOAP_FMAC4 soap_in_PointerToPointerTogapi1__ResultElement(struct soap*, const char*, gapi1__ResultElement ***, const char*);
+
+ #ifndef SOAP_TYPE_PointerTogapi1__ResultElement
+-#define SOAP_TYPE_PointerTogapi1__ResultElement (25)
++#define SOAP_TYPE_PointerTogapi1__ResultElement (24)
+ #endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTogapi1__ResultElement(struct soap*, gapi1__ResultElement *const*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTogapi1__ResultElement(struct soap*, gapi1__ResultElement *const*, const char*, const char*);
+@@ -430,7 +424,7 @@
+ SOAP_FMAC3 gapi1__ResultElement ** SOAP_FMAC4 soap_in_PointerTogapi1__ResultElement(struct soap*, const char*, gapi1__ResultElement **, const char*);
+
+ #ifndef SOAP_TYPE_PointerTogapi1__DirectoryCategory
+-#define SOAP_TYPE_PointerTogapi1__DirectoryCategory (24)
++#define SOAP_TYPE_PointerTogapi1__DirectoryCategory (23)
+ #endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTogapi1__DirectoryCategory(struct soap*, gapi1__DirectoryCategory *const*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTogapi1__DirectoryCategory(struct soap*, gapi1__DirectoryCategory *const*, const char*, const char*);
+@@ -439,7 +433,7 @@
+ SOAP_FMAC3 gapi1__DirectoryCategory ** SOAP_FMAC4 soap_in_PointerTogapi1__DirectoryCategory(struct soap*, const char*, gapi1__DirectoryCategory **, const char*);
+
+ #ifndef SOAP_TYPE_PointerTogapi1DirectoryCategoryArray
+-#define SOAP_TYPE_PointerTogapi1DirectoryCategoryArray (22)
++#define SOAP_TYPE_PointerTogapi1DirectoryCategoryArray (21)
+ #endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTogapi1DirectoryCategoryArray(struct soap*, gapi1DirectoryCategoryArray *const*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTogapi1DirectoryCategoryArray(struct soap*, gapi1DirectoryCategoryArray *const*, const char*, const char*);
+@@ -448,7 +442,7 @@
+ SOAP_FMAC3 gapi1DirectoryCategoryArray ** SOAP_FMAC4 soap_in_PointerTogapi1DirectoryCategoryArray(struct soap*, const char*, gapi1DirectoryCategoryArray **, const char*);
+
+ #ifndef SOAP_TYPE_PointerTogapi1ResultElementArray
+-#define SOAP_TYPE_PointerTogapi1ResultElementArray (21)
++#define SOAP_TYPE_PointerTogapi1ResultElementArray (20)
+ #endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTogapi1ResultElementArray(struct soap*, gapi1ResultElementArray *const*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTogapi1ResultElementArray(struct soap*, gapi1ResultElementArray *const*, const char*, const char*);
+diff -Naur ./Search/Google/GAPIStub.h ./Search/Google/GAPIStub.h
+--- ./Search/Google/GAPIStub.h 2006-11-22 20:30:01.000000000 +0800
++++ ./Search/Google/GAPIStub.h 2007-07-29 18:34:02.000000000 +0800
+@@ -1,6 +1,6 @@
+ /* GAPIStub.h
+- Generated by gSOAP 2.7.8c from GoogleSearch.h
+- Copyright (C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
++ Generated by gSOAP 2.7.9e from GoogleSearch.h
++ Copyright(C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
+ This part of the software is released under one of the following licenses:
+ GPL, the gSOAP public license, or Genivia's license for commercial use.
+ */
+@@ -52,12 +52,12 @@
+ };
+ #endif
+
+-#if 0 /* volatile type: do no redeclare */
++#if 0 /* volatile type: do not redeclare */
+
+ #endif
+
+ #ifndef SOAP_TYPE_gapi1__GoogleSearchResult
+-#define SOAP_TYPE_gapi1__GoogleSearchResult (15)
++#define SOAP_TYPE_gapi1__GoogleSearchResult (13)
+ /* gapi1:GoogleSearchResult */
+ class SOAP_CMAC gapi1__GoogleSearchResult
+ {
+@@ -75,7 +75,7 @@
+ double searchTime; /* required element of type xsd:double */
+ struct soap *soap; /* transient */
+ public:
+- virtual int soap_type() const { return 15; } /* = unique id SOAP_TYPE_gapi1__GoogleSearchResult */
++ virtual int soap_type() const { return 13; } /* = unique id SOAP_TYPE_gapi1__GoogleSearchResult */
+ virtual void soap_default(struct soap*);
+ virtual void soap_serialize(struct soap*) const;
+ virtual int soap_put(struct soap*, const char*, const char*) const;
+@@ -88,7 +88,7 @@
+ #endif
+
+ #ifndef SOAP_TYPE_gapi1__ResultElement
+-#define SOAP_TYPE_gapi1__ResultElement (16)
++#define SOAP_TYPE_gapi1__ResultElement (14)
+ /* gapi1:ResultElement */
+ class SOAP_CMAC gapi1__ResultElement
+ {
+@@ -104,7 +104,7 @@
+ std::string directoryTitle; /* required element of type xsd:string */
+ struct soap *soap; /* transient */
+ public:
+- virtual int soap_type() const { return 16; } /* = unique id SOAP_TYPE_gapi1__ResultElement */
++ virtual int soap_type() const { return 14; } /* = unique id SOAP_TYPE_gapi1__ResultElement */
+ virtual void soap_default(struct soap*);
+ virtual void soap_serialize(struct soap*) const;
+ virtual int soap_put(struct soap*, const char*, const char*) const;
+@@ -117,7 +117,7 @@
+ #endif
+
+ #ifndef SOAP_TYPE_gapi1__DirectoryCategory
+-#define SOAP_TYPE_gapi1__DirectoryCategory (19)
++#define SOAP_TYPE_gapi1__DirectoryCategory (17)
+ /* gapi1:DirectoryCategory */
+ class SOAP_CMAC gapi1__DirectoryCategory
+ {
+@@ -126,7 +126,7 @@
+ std::string specialEncoding; /* required element of type xsd:string */
+ struct soap *soap; /* transient */
+ public:
+- virtual int soap_type() const { return 19; } /* = unique id SOAP_TYPE_gapi1__DirectoryCategory */
++ virtual int soap_type() const { return 17; } /* = unique id SOAP_TYPE_gapi1__DirectoryCategory */
+ virtual void soap_default(struct soap*);
+ virtual void soap_serialize(struct soap*) const;
+ virtual int soap_put(struct soap*, const char*, const char*) const;
+@@ -139,7 +139,7 @@
+ #endif
+
+ #ifndef SOAP_TYPE_gapi1ResultElementArray
+-#define SOAP_TYPE_gapi1ResultElementArray (17)
++#define SOAP_TYPE_gapi1ResultElementArray (15)
+ /* SOAP encoded array of gapi1:ResultElement schema type: */
+ class SOAP_CMAC gapi1ResultElementArray
+ {
+@@ -148,7 +148,7 @@
+ int __size;
+ struct soap *soap; /* transient */
+ public:
+- virtual int soap_type() const { return 17; } /* = unique id SOAP_TYPE_gapi1ResultElementArray */
++ virtual int soap_type() const { return 15; } /* = unique id SOAP_TYPE_gapi1ResultElementArray */
+ virtual void soap_default(struct soap*);
+ virtual void soap_serialize(struct soap*) const;
+ virtual int soap_put(struct soap*, const char*, const char*) const;
+@@ -161,7 +161,7 @@
+ #endif
+
+ #ifndef SOAP_TYPE_gapi1DirectoryCategoryArray
+-#define SOAP_TYPE_gapi1DirectoryCategoryArray (18)
++#define SOAP_TYPE_gapi1DirectoryCategoryArray (16)
+ /* SOAP encoded array of gapi1:DirectoryCategory schema type: */
+ class SOAP_CMAC gapi1DirectoryCategoryArray
+ {
+@@ -170,7 +170,7 @@
+ int __size;
+ struct soap *soap; /* transient */
+ public:
+- virtual int soap_type() const { return 18; } /* = unique id SOAP_TYPE_gapi1DirectoryCategoryArray */
++ virtual int soap_type() const { return 16; } /* = unique id SOAP_TYPE_gapi1DirectoryCategoryArray */
+ virtual void soap_default(struct soap*);
+ virtual void soap_serialize(struct soap*) const;
+ virtual int soap_put(struct soap*, const char*, const char*) const;
+@@ -183,7 +183,7 @@
+ #endif
+
+ #ifndef SOAP_TYPE_gapi1__doGetCachedPageResponse
+-#define SOAP_TYPE_gapi1__doGetCachedPageResponse (30)
++#define SOAP_TYPE_gapi1__doGetCachedPageResponse (29)
+ /* gapi1:doGetCachedPageResponse */
+ struct gapi1__doGetCachedPageResponse
+ {
+@@ -193,7 +193,7 @@
+ #endif
+
+ #ifndef SOAP_TYPE_gapi1__doGetCachedPage
+-#define SOAP_TYPE_gapi1__doGetCachedPage (31)
++#define SOAP_TYPE_gapi1__doGetCachedPage (30)
+ /* gapi1:doGetCachedPage */
+ struct gapi1__doGetCachedPage
+ {
+@@ -204,7 +204,7 @@
+ #endif
+
+ #ifndef SOAP_TYPE_gapi1__doSpellingSuggestionResponse
+-#define SOAP_TYPE_gapi1__doSpellingSuggestionResponse (34)
++#define SOAP_TYPE_gapi1__doSpellingSuggestionResponse (33)
+ /* gapi1:doSpellingSuggestionResponse */
+ struct gapi1__doSpellingSuggestionResponse
+ {
+@@ -214,7 +214,7 @@
+ #endif
+
+ #ifndef SOAP_TYPE_gapi1__doSpellingSuggestion
+-#define SOAP_TYPE_gapi1__doSpellingSuggestion (35)
++#define SOAP_TYPE_gapi1__doSpellingSuggestion (34)
+ /* gapi1:doSpellingSuggestion */
+ struct gapi1__doSpellingSuggestion
+ {
+@@ -225,7 +225,7 @@
+ #endif
+
+ #ifndef SOAP_TYPE_gapi1__doGoogleSearchResponse
+-#define SOAP_TYPE_gapi1__doGoogleSearchResponse (36)
++#define SOAP_TYPE_gapi1__doGoogleSearchResponse (35)
+ /* gapi1:doGoogleSearchResponse */
+ struct gapi1__doGoogleSearchResponse
+ {
+@@ -235,7 +235,7 @@
+ #endif
+
+ #ifndef SOAP_TYPE_gapi1__doGoogleSearch
+-#define SOAP_TYPE_gapi1__doGoogleSearch (40)
++#define SOAP_TYPE_gapi1__doGoogleSearch (39)
+ /* gapi1:doGoogleSearch */
+ struct gapi1__doGoogleSearch
+ {
+@@ -254,7 +254,7 @@
+ #endif
+
+ #ifndef SOAP_TYPE_SOAP_ENV__Header
+-#define SOAP_TYPE_SOAP_ENV__Header (43)
++#define SOAP_TYPE_SOAP_ENV__Header (42)
+ /* SOAP Header: */
+ struct SOAP_ENV__Header
+ {
+@@ -264,18 +264,18 @@
+ #endif
+
+ #ifndef SOAP_TYPE_SOAP_ENV__Code
+-#define SOAP_TYPE_SOAP_ENV__Code (44)
++#define SOAP_TYPE_SOAP_ENV__Code (43)
+ /* SOAP Fault Code: */
+ struct SOAP_ENV__Code
+ {
+ public:
+- char *SOAP_ENV__Value; /* optional element of type QName */
++ char *SOAP_ENV__Value; /* optional element of type xsd:QName */
+ struct SOAP_ENV__Code *SOAP_ENV__Subcode; /* optional element of type SOAP-ENV:Code */
+ };
+ #endif
+
+ #ifndef SOAP_TYPE_SOAP_ENV__Detail
+-#define SOAP_TYPE_SOAP_ENV__Detail (46)
++#define SOAP_TYPE_SOAP_ENV__Detail (45)
+ /* SOAP-ENV:Detail */
+ struct SOAP_ENV__Detail
+ {
+@@ -287,7 +287,7 @@
+ #endif
+
+ #ifndef SOAP_TYPE_SOAP_ENV__Reason
+-#define SOAP_TYPE_SOAP_ENV__Reason (47)
++#define SOAP_TYPE_SOAP_ENV__Reason (46)
+ /* SOAP-ENV:Reason */
+ struct SOAP_ENV__Reason
+ {
+@@ -297,12 +297,12 @@
+ #endif
+
+ #ifndef SOAP_TYPE_SOAP_ENV__Fault
+-#define SOAP_TYPE_SOAP_ENV__Fault (48)
++#define SOAP_TYPE_SOAP_ENV__Fault (47)
+ /* SOAP Fault: */
+ struct SOAP_ENV__Fault
+ {
+ public:
+- char *faultcode; /* optional element of type QName */
++ char *faultcode; /* optional element of type xsd:QName */
+ char *faultstring; /* optional element of type xsd:string */
+ char *faultactor; /* optional element of type xsd:string */
+ struct SOAP_ENV__Detail *detail; /* optional element of type SOAP-ENV:Detail */
+@@ -337,11 +337,6 @@
+ typedef char *_QName;
+ #endif
+
+-#ifndef SOAP_TYPE__SOAP_ENC__arrayType
+-#define SOAP_TYPE__SOAP_ENC__arrayType (14)
+-typedef std::string _SOAP_ENC__arrayType;
+-#endif
+-
+
+ /******************************************************************************\
+ * *
+diff -Naur ./Search/Google/GoogleSearch.h ./Search/Google/GoogleSearch.h
+--- ./Search/Google/GoogleSearch.h 2006-11-22 20:29:42.000000000 +0800
++++ ./Search/Google/GoogleSearch.h 2007-07-29 18:33:46.000000000 +0800
+@@ -1,6 +1,6 @@
+ /* GoogleSearch.h
+- Generated by wsdl2h 1.2.8c from googleapi/GoogleSearch.wsdl and typemap.dat
+- 2006-11-22 12:29:42 GMT
++ Generated by wsdl2h 1.2.9e from googleapi/GoogleSearch.wsdl and typemap.dat
++ 2007-07-29 10:33:46 GMT
+ Copyright (C) 2001-2006 Robert van Engelen, Genivia Inc. All Rights Reserved.
+ This part of the software is released under one of the following licenses:
+ GPL or Genivia's license for commercial use.
+@@ -38,6 +38,8 @@
+ * *
+ \******************************************************************************/
+
++
++// STL vector containers (use option -s to disable)
+ #import "stlvector.h"
+
+ /******************************************************************************\
+@@ -75,9 +77,6 @@
+ struct soap *soap;
+ };
+
+-/// Built-in attribute "SOAP-ENC:arrayType".
+-typedef std::string _SOAP_ENC__arrayType;
+-
+
+ // Forward declaration of class gapi1__GoogleSearchResult.
+ class gapi1__GoogleSearchResult;
+@@ -219,6 +218,8 @@
+ @section GoogleSearchBinding_ports Endpoints of Binding "GoogleSearchBinding"
+ - http://api.google.com/search/beta2
+
++Note: use wsdl2h option -N to change the service binding prefix name
++
+ */
+
+ /******************************************************************************\
+@@ -244,9 +245,10 @@
+ - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ - SOAP action="urn:GoogleSearchAction"
+
+-C stub function (defined in soapClient.c[pp] after running soapcpp2):
++C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+ @code
+- int soap_call_gapi1__doGetCachedPage(struct soap *soap,
++ int soap_call_gapi1__doGetCachedPage(
++ struct soap *soap,
+ NULL, // char *endpoint = NULL selects default endpoint for this operation
+ NULL, // char *action = NULL selects default action for this operation
+ // request parameters:
+@@ -257,6 +259,18 @@
+ );
+ @endcode
+
++C server function (called from the service dispatcher defined in soapServer.c[pp]):
++@code
++ int gapi1__doGetCachedPage(
++ struct soap *soap,
++ // request parameters:
++ std::string key,
++ std::string url,
++ // response parameters:
++ xsd__base64Binary &return_
++ );
++@endcode
++
+ C++ proxy class (defined in soapGoogleSearchBindingProxy.h):
+ class GoogleSearchBinding;
+
+@@ -287,9 +301,10 @@
+ - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ - SOAP action="urn:GoogleSearchAction"
+
+-C stub function (defined in soapClient.c[pp] after running soapcpp2):
++C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+ @code
+- int soap_call_gapi1__doSpellingSuggestion(struct soap *soap,
++ int soap_call_gapi1__doSpellingSuggestion(
++ struct soap *soap,
+ NULL, // char *endpoint = NULL selects default endpoint for this operation
+ NULL, // char *action = NULL selects default action for this operation
+ // request parameters:
+@@ -300,6 +315,18 @@
+ );
+ @endcode
+
++C server function (called from the service dispatcher defined in soapServer.c[pp]):
++@code
++ int gapi1__doSpellingSuggestion(
++ struct soap *soap,
++ // request parameters:
++ std::string key,
++ std::string phrase,
++ // response parameters:
++ std::string &return_
++ );
++@endcode
++
+ C++ proxy class (defined in soapGoogleSearchBindingProxy.h):
+ class GoogleSearchBinding;
+
+@@ -335,9 +362,10 @@
+ - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ - SOAP action="urn:GoogleSearchAction"
+
+-C stub function (defined in soapClient.c[pp] after running soapcpp2):
++C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+ @code
+- int soap_call_gapi1__doGoogleSearch(struct soap *soap,
++ int soap_call_gapi1__doGoogleSearch(
++ struct soap *soap,
+ NULL, // char *endpoint = NULL selects default endpoint for this operation
+ NULL, // char *action = NULL selects default action for this operation
+ // request parameters:
+@@ -356,6 +384,26 @@
+ );
+ @endcode
+
++C server function (called from the service dispatcher defined in soapServer.c[pp]):
++@code
++ int gapi1__doGoogleSearch(
++ struct soap *soap,
++ // request parameters:
++ std::string key,
++ std::string q,
++ int start,
++ int maxResults,
++ bool filter,
++ std::string restrict_,
++ bool safeSearch,
++ std::string lr,
++ std::string ie,
++ std::string oe,
++ // response parameters:
++ struct gapi1__doGoogleSearchResponse&
++ );
++@endcode
++
+ C++ proxy class (defined in soapGoogleSearchBindingProxy.h):
+ class GoogleSearchBinding;
+
+diff -Naur ./Search/SOAPEnvC.cpp ./Search/SOAPEnvC.cpp
+--- ./Search/SOAPEnvC.cpp 2006-11-22 20:33:15.000000000 +0800
++++ ./Search/SOAPEnvC.cpp 2007-07-29 18:58:39.000000000 +0800
+@@ -1,13 +1,13 @@
+ /* SOAPEnvC.cpp
+- Generated by gSOAP 2.7.8c from SOAPEnv.h
+- Copyright (C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
++ Generated by gSOAP 2.7.9e from SOAPEnv.h
++ Copyright(C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
+ This part of the software is released under one of the following licenses:
+ GPL, the gSOAP public license, or Genivia's license for commercial use.
+ */
+
+ #include "SOAPEnvH.h"
+
+-SOAP_SOURCE_STAMP("@(#) SOAPEnvC.cpp ver 2.7.8c 2006-11-22 12:33:15 GMT")
++SOAP_SOURCE_STAMP("@(#) SOAPEnvC.cpp ver 2.7.9e 2007-07-29 10:58:39 GMT")
+
+
+ #ifndef WITH_NOGLOBAL
+@@ -39,21 +39,22 @@
+ SOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap *soap)
+ {
+ if (!soap->fault)
+- { soap->fault = (struct SOAP_ENV__Fault*)soap_malloc(soap, sizeof(struct SOAP_ENV__Fault));
++ { soap->fault = soap_new_SOAP_ENV__Fault(soap, -1);
+ soap_default_SOAP_ENV__Fault(soap, soap->fault);
+ }
+ if (soap->version == 2 && !soap->fault->SOAP_ENV__Code)
+- { soap->fault->SOAP_ENV__Code = (struct SOAP_ENV__Code*)soap_malloc(soap, sizeof(struct SOAP_ENV__Code));
++ { soap->fault->SOAP_ENV__Code = soap_new_SOAP_ENV__Code(soap, -1);
+ soap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code);
+ }
+ if (soap->version == 2 && !soap->fault->SOAP_ENV__Reason)
+- { soap->fault->SOAP_ENV__Reason = (struct SOAP_ENV__Reason*)soap_malloc(soap, sizeof(struct SOAP_ENV__Reason));
++ { soap->fault->SOAP_ENV__Reason = soap_new_SOAP_ENV__Reason(soap, -1);
+ soap_default_SOAP_ENV__Reason(soap, soap->fault->SOAP_ENV__Reason);
+ }
+ }
+
+ SOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap *soap)
+ {
++ soap_fault(soap);
+ if (soap->fault)
+ soap_serialize_SOAP_ENV__Fault(soap, soap->fault);
+ }
+@@ -83,7 +84,7 @@
+ soap_fault(soap);
+ if (soap->version == 2)
+ { if (!soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode)
+- { soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode = (struct SOAP_ENV__Code*)soap_malloc(soap, sizeof(struct SOAP_ENV__Code));
++ { soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode = soap_new_SOAP_ENV__Code(soap, -1);
+ soap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode);
+ }
+ return (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;
+@@ -110,7 +111,7 @@
+ return (const char**)&soap->fault->detail->__any;
+ }
+ if (!soap->fault->SOAP_ENV__Detail)
+- { soap->fault->SOAP_ENV__Detail = (struct SOAP_ENV__Detail*)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail));
++ { soap->fault->SOAP_ENV__Detail = soap_new_SOAP_ENV__Detail(soap, -1);
+ soap_default_SOAP_ENV__Detail(soap, soap->fault->SOAP_ENV__Detail);
+ }
+ return (const char**)&soap->fault->SOAP_ENV__Detail->__any;
+@@ -133,6 +134,10 @@
+ #endif
+
+ #ifndef WITH_NOIDREF
++
++#ifdef __cplusplus
++extern "C" {
++#endif
+ SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, int *type)
+ {
+ if (soap_peek_element(soap))
+@@ -169,7 +174,7 @@
+ return s ? *s : NULL;
+ }
+ t = soap->tag;
+- if (!soap_match_tag(soap, t, "QName"))
++ if (!soap_match_tag(soap, t, "xsd:QName"))
+ { char **s;
+ *type = SOAP_TYPE__QName;
+ s = soap_in__QName(soap, NULL, NULL, NULL);
+@@ -180,6 +185,10 @@
+ soap->error = SOAP_TAG_MISMATCH;
+ return NULL;
+ }
++
++#ifdef __cplusplus
++}
++#endif
+ #endif
+
+ SOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap *soap)
+@@ -228,6 +237,10 @@
+ #endif
+
+ #ifndef WITH_NOIDREF
++
++#ifdef __cplusplus
++extern "C" {
++#endif
+ SOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap *soap, const void *ptr, const char *tag, int id, int type)
+ {
+ switch (type)
+@@ -237,15 +250,23 @@
+ case SOAP_TYPE_int:
+ return soap_out_int(soap, tag, id, (const int *)ptr, "xsd:int");
+ case SOAP_TYPE__QName:
+- return soap_out_string(soap, "QName", id, (char**)&ptr, NULL);
++ return soap_out_string(soap, "xsd:QName", id, (char**)&ptr, NULL);
+ case SOAP_TYPE_string:
+ return soap_out_string(soap, tag, id, (char**)&ptr, "xsd:string");
+ }
+ return SOAP_OK;
+ }
++
++#ifdef __cplusplus
++}
++#endif
+ #endif
+
+ #ifndef WITH_NOIDREF
++
++#ifdef __cplusplus
++extern "C" {
++#endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap *soap, const void *ptr, int type)
+ {
+ (void)soap; (void)ptr; (void)type; /* appease -Wall -Werror */
+@@ -259,17 +280,41 @@
+ break;
+ }
+ }
++
++#ifdef __cplusplus
++}
++#endif
+ #endif
+
+ SOAP_FMAC3 void * SOAP_FMAC4 soap_instantiate(struct soap *soap, int t, const char *type, const char *arrayType, size_t *n)
+ {
+ switch (t)
+ {
++#ifndef WITH_NOGLOBAL
++ case SOAP_TYPE_SOAP_ENV__Header:
++ return (void*)soap_instantiate_SOAP_ENV__Header(soap, -1, type, arrayType, n);
++#endif
++#ifndef WITH_NOGLOBAL
++ case SOAP_TYPE_SOAP_ENV__Code:
++ return (void*)soap_instantiate_SOAP_ENV__Code(soap, -1, type, arrayType, n);
++#endif
++#ifndef WITH_NOGLOBAL
++ case SOAP_TYPE_SOAP_ENV__Detail:
++ return (void*)soap_instantiate_SOAP_ENV__Detail(soap, -1, type, arrayType, n);
++#endif
++#ifndef WITH_NOGLOBAL
++ case SOAP_TYPE_SOAP_ENV__Reason:
++ return (void*)soap_instantiate_SOAP_ENV__Reason(soap, -1, type, arrayType, n);
++#endif
++#ifndef WITH_NOGLOBAL
++ case SOAP_TYPE_SOAP_ENV__Fault:
++ return (void*)soap_instantiate_SOAP_ENV__Fault(soap, -1, type, arrayType, n);
++#endif
+ }
+ return NULL;
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_fdelete(struct soap_clist *p)
++SOAP_FMAC3 int SOAP_FMAC4 soap_fdelete(struct soap_clist *p)
+ { switch (p->type)
+ {
+ case SOAP_TYPE_SOAP_ENV__Header:
+@@ -302,7 +347,9 @@
+ else
+ delete[] (struct SOAP_ENV__Fault*)p->ptr;
+ break;
++ default: return SOAP_ERR;
+ }
++ return SOAP_OK;
+ }
+
+ SOAP_FMAC3 void* SOAP_FMAC4 soap_class_id_enter(struct soap *soap, const char *id, void *p, int t, size_t n, const char *type, const char *arrayType)
+@@ -379,20 +426,6 @@
+
+ #ifndef WITH_NOGLOBAL
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a)
+-{
+- (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_serialize__QName(soap, &a->faultcode);
+- soap_serialize_string(soap, &a->faultstring);
+- soap_serialize_string(soap, &a->faultactor);
+- soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->detail);
+- soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Code);
+- soap_serialize_PointerToSOAP_ENV__Reason(soap, &a->SOAP_ENV__Reason);
+- soap_serialize_string(soap, &a->SOAP_ENV__Node);
+- soap_serialize_string(soap, &a->SOAP_ENV__Role);
+- soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->SOAP_ENV__Detail);
+-}
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Fault(struct soap *soap, struct SOAP_ENV__Fault *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+@@ -407,6 +440,20 @@
+ a->SOAP_ENV__Detail = NULL;
+ }
+
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a)
++{
++ (void)soap; (void)a; /* appease -Wall -Werror */
++ soap_serialize__QName(soap, &a->faultcode);
++ soap_serialize_string(soap, &a->faultstring);
++ soap_serialize_string(soap, &a->faultactor);
++ soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->detail);
++ soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Code);
++ soap_serialize_PointerToSOAP_ENV__Reason(soap, &a->SOAP_ENV__Reason);
++ soap_serialize_string(soap, &a->SOAP_ENV__Node);
++ soap_serialize_string(soap, &a->SOAP_ENV__Role);
++ soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->SOAP_ENV__Detail);
++}
++
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a, const char *tag, const char *type)
+ {
+ register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Fault);
+@@ -508,7 +555,7 @@
+ return NULL;
+ }
+ else
+- { a = (struct SOAP_ENV__Fault *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_SOAP_ENV__Fault, 0, sizeof(struct SOAP_ENV__Fault), 0, NULL);
++ { a = (struct SOAP_ENV__Fault *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Fault, 0, sizeof(struct SOAP_ENV__Fault), 0, NULL);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+@@ -536,13 +583,16 @@
+ }
+ else
+ { cp->ptr = (void*)new struct SOAP_ENV__Fault[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct SOAP_ENV__Fault);
+ }
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct SOAP_ENV__Fault*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Fault(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Fault %p -> %p\n", q, p));
+@@ -553,16 +603,16 @@
+
+ #ifndef WITH_NOGLOBAL
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_serialize_string(soap, &a->SOAP_ENV__Text);
++ soap_default_string(soap, &a->SOAP_ENV__Text);
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_default_string(soap, &a->SOAP_ENV__Text);
++ soap_serialize_string(soap, &a->SOAP_ENV__Text);
+ }
+
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a, const char *tag, const char *type)
+@@ -617,7 +667,7 @@
+ return NULL;
+ }
+ else
+- { a = (struct SOAP_ENV__Reason *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_SOAP_ENV__Reason, 0, sizeof(struct SOAP_ENV__Reason), 0, NULL);
++ { a = (struct SOAP_ENV__Reason *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Reason, 0, sizeof(struct SOAP_ENV__Reason), 0, NULL);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+@@ -645,13 +695,16 @@
+ }
+ else
+ { cp->ptr = (void*)new struct SOAP_ENV__Reason[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct SOAP_ENV__Reason);
+ }
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct SOAP_ENV__Reason*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Reason(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Reason %p -> %p\n", q, p));
+@@ -662,12 +715,6 @@
+
+ #ifndef WITH_NOGLOBAL
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a)
+-{
+- (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_markelement(soap, a->fault, a->__type);
+-}
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+@@ -676,6 +723,12 @@
+ a->__any = NULL;
+ }
+
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a)
++{
++ (void)soap; (void)a; /* appease -Wall -Werror */
++ soap_markelement(soap, a->fault, a->__type);
++}
++
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a, const char *tag, const char *type)
+ {
+ register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Detail);
+@@ -734,7 +787,7 @@
+ return NULL;
+ }
+ else
+- { a = (struct SOAP_ENV__Detail *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_SOAP_ENV__Detail, 0, sizeof(struct SOAP_ENV__Detail), 0, NULL);
++ { a = (struct SOAP_ENV__Detail *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Detail, 0, sizeof(struct SOAP_ENV__Detail), 0, NULL);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+@@ -762,13 +815,16 @@
+ }
+ else
+ { cp->ptr = (void*)new struct SOAP_ENV__Detail[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct SOAP_ENV__Detail);
+ }
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct SOAP_ENV__Detail*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Detail(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Detail %p -> %p\n", q, p));
+@@ -779,18 +835,18 @@
+
+ #ifndef WITH_NOGLOBAL
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_serialize__QName(soap, &a->SOAP_ENV__Value);
+- soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Subcode);
++ soap_default__QName(soap, &a->SOAP_ENV__Value);
++ a->SOAP_ENV__Subcode = NULL;
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+- soap_default__QName(soap, &a->SOAP_ENV__Value);
+- a->SOAP_ENV__Subcode = NULL;
++ soap_serialize__QName(soap, &a->SOAP_ENV__Value);
++ soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Subcode);
+ }
+
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a, const char *tag, const char *type)
+@@ -852,7 +908,7 @@
+ return NULL;
+ }
+ else
+- { a = (struct SOAP_ENV__Code *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_SOAP_ENV__Code, 0, sizeof(struct SOAP_ENV__Code), 0, NULL);
++ { a = (struct SOAP_ENV__Code *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Code, 0, sizeof(struct SOAP_ENV__Code), 0, NULL);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+@@ -880,13 +936,16 @@
+ }
+ else
+ { cp->ptr = (void*)new struct SOAP_ENV__Code[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct SOAP_ENV__Code);
+ }
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct SOAP_ENV__Code*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Code(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Code %p -> %p\n", q, p));
+@@ -897,13 +956,13 @@
+
+ #ifndef WITH_NOGLOBAL
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap *soap, const struct SOAP_ENV__Header *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+ /* transient dummy skipped */
+ }
+
+-SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header *a)
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap *soap, const struct SOAP_ENV__Header *a)
+ {
+ (void)soap; (void)a; /* appease -Wall -Werror */
+ /* transient dummy skipped */
+@@ -956,7 +1015,7 @@
+ return NULL;
+ }
+ else
+- { a = (struct SOAP_ENV__Header *)soap_id_forward(soap, soap->href, (void**)a, 0, SOAP_TYPE_SOAP_ENV__Header, 0, sizeof(struct SOAP_ENV__Header), 0, NULL);
++ { a = (struct SOAP_ENV__Header *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Header, 0, sizeof(struct SOAP_ENV__Header), 0, NULL);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+@@ -984,13 +1043,16 @@
+ }
+ else
+ { cp->ptr = (void*)new struct SOAP_ENV__Header[n];
++ if (!cp->ptr)
++ { soap->error = SOAP_EOM;
++ return NULL;
++ }
+ if (size)
+ *size = n * sizeof(struct SOAP_ENV__Header);
+ }
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct SOAP_ENV__Header*)cp->ptr;
+ }
+-
+ SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Header(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+ {
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Header %p -> %p\n", q, p));
+diff -Naur ./Search/SOAPEnvH.h ./Search/SOAPEnvH.h
+--- ./Search/SOAPEnvH.h 2006-11-22 20:33:15.000000000 +0800
++++ ./Search/SOAPEnvH.h 2007-07-29 18:58:39.000000000 +0800
+@@ -1,6 +1,6 @@
+ /* SOAPEnvH.h
+- Generated by gSOAP 2.7.8c from SOAPEnv.h
+- Copyright (C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
++ Generated by gSOAP 2.7.9e from SOAPEnv.h
++ Copyright(C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
+ This part of the software is released under one of the following licenses:
+ GPL, the gSOAP public license, or Genivia's license for commercial use.
+ */
+@@ -8,17 +8,25 @@
+ #ifndef SOAPEnvH_H
+ #define SOAPEnvH_H
+ #include "SOAPEnvStub.h"
+-SOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap*);
+ #ifndef WITH_NOIDREF
+-SOAP_FMAC3 int SOAP_FMAC4 soap_putindependent(struct soap*);
+-SOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap*);
++
++#ifdef __cplusplus
++extern "C" {
++#endif
+ SOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap*, const void*, int);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap*, const void*, const char*, int, int);
+-SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap*, int*);
++SOAP_FMAC3 void *SOAP_FMAC4 soap_getelement(struct soap*, int*);
++
++#ifdef __cplusplus
++}
+ #endif
++SOAP_FMAC3 int SOAP_FMAC4 soap_putindependent(struct soap*);
++SOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap*);
++#endif
++SOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap*);
+
+ SOAP_FMAC3 void * SOAP_FMAC4 soap_instantiate(struct soap*, int, const char*, const char*, size_t*);
+-SOAP_FMAC3 void SOAP_FMAC4 soap_fdelete(struct soap_clist*);
++SOAP_FMAC3 int SOAP_FMAC4 soap_fdelete(struct soap_clist*);
+ SOAP_FMAC3 void* SOAP_FMAC4 soap_class_id_enter(struct soap*, const char*, void*, int, size_t, const char*, const char*);
+
+ #ifndef SOAP_TYPE_byte
+@@ -44,8 +52,8 @@
+ #ifndef SOAP_TYPE_SOAP_ENV__Fault
+ #define SOAP_TYPE_SOAP_ENV__Fault (13)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap*, const struct SOAP_ENV__Fault *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Fault(struct soap*, struct SOAP_ENV__Fault *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap*, const struct SOAP_ENV__Fault *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Fault(struct soap*, const struct SOAP_ENV__Fault *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Fault(struct soap*, const char*, int, const struct SOAP_ENV__Fault *, const char*);
+ SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_get_SOAP_ENV__Fault(struct soap*, struct SOAP_ENV__Fault *, const char*, const char*);
+@@ -62,8 +70,8 @@
+ #ifndef SOAP_TYPE_SOAP_ENV__Reason
+ #define SOAP_TYPE_SOAP_ENV__Reason (12)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap*, const struct SOAP_ENV__Reason *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap*, const struct SOAP_ENV__Reason *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Reason(struct soap*, const struct SOAP_ENV__Reason *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Reason(struct soap*, const char*, int, const struct SOAP_ENV__Reason *, const char*);
+ SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_get_SOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *, const char*, const char*);
+@@ -80,8 +88,8 @@
+ #ifndef SOAP_TYPE_SOAP_ENV__Detail
+ #define SOAP_TYPE_SOAP_ENV__Detail (11)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap*, const struct SOAP_ENV__Detail *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap*, const struct SOAP_ENV__Detail *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Detail(struct soap*, const struct SOAP_ENV__Detail *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Detail(struct soap*, const char*, int, const struct SOAP_ENV__Detail *, const char*);
+ SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_get_SOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *, const char*, const char*);
+@@ -98,8 +106,8 @@
+ #ifndef SOAP_TYPE_SOAP_ENV__Code
+ #define SOAP_TYPE_SOAP_ENV__Code (9)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap*, const struct SOAP_ENV__Code *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap*, const struct SOAP_ENV__Code *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Code(struct soap*, const struct SOAP_ENV__Code *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Code(struct soap*, const char*, int, const struct SOAP_ENV__Code *, const char*);
+ SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_get_SOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *, const char*, const char*);
+@@ -116,8 +124,8 @@
+ #ifndef SOAP_TYPE_SOAP_ENV__Header
+ #define SOAP_TYPE_SOAP_ENV__Header (8)
+ #endif
+-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap*, const struct SOAP_ENV__Header *);
+ SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Header(struct soap*, struct SOAP_ENV__Header *);
++SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap*, const struct SOAP_ENV__Header *);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Header(struct soap*, const struct SOAP_ENV__Header *, const char*, const char*);
+ SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Header(struct soap*, const char*, int, const struct SOAP_ENV__Header *, const char*);
+ SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_get_SOAP_ENV__Header(struct soap*, struct SOAP_ENV__Header *, const char*, const char*);
+diff -Naur ./Search/SOAPEnvStub.h ./Search/SOAPEnvStub.h
+--- ./Search/SOAPEnvStub.h 2006-11-22 20:33:15.000000000 +0800
++++ ./Search/SOAPEnvStub.h 2007-07-29 18:58:39.000000000 +0800
+@@ -1,6 +1,6 @@
+ /* SOAPEnvStub.h
+- Generated by gSOAP 2.7.8c from SOAPEnv.h
+- Copyright (C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
++ Generated by gSOAP 2.7.9e from SOAPEnv.h
++ Copyright(C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
+ This part of the software is released under one of the following licenses:
+ GPL, the gSOAP public license, or Genivia's license for commercial use.
+ */
+@@ -39,7 +39,7 @@
+ struct SOAP_ENV__Code
+ {
+ public:
+- char *SOAP_ENV__Value; /* optional element of type QName */
++ char *SOAP_ENV__Value; /* optional element of type xsd:QName */
+ struct SOAP_ENV__Code *SOAP_ENV__Subcode; /* optional element of type SOAP-ENV:Code */
+ };
+ #endif
+@@ -72,7 +72,7 @@
+ struct SOAP_ENV__Fault
+ {
+ public:
+- char *faultcode; /* optional element of type QName */
++ char *faultcode; /* optional element of type xsd:QName */
+ char *faultstring; /* optional element of type xsd:string */
+ char *faultactor; /* optional element of type xsd:string */
+ struct SOAP_ENV__Detail *detail; /* optional element of type SOAP-ENV:Detail */
diff --git a/deskutils/pinot/pkg-plist b/deskutils/pinot/pkg-plist
index a89d7fe2fe18..bee64592931e 100644
--- a/deskutils/pinot/pkg-plist
+++ b/deskutils/pinot/pkg-plist
@@ -35,7 +35,6 @@ share/locale/sv/LC_MESSAGES/pinot.mo
%%DATADIR%%/AmazonAPI.src
%%DATADIR%%/engines/A9.src
%%DATADIR%%/engines/Accoona.src
-%%DATADIR%%/engines/Ask.src
%%DATADIR%%/engines/BitTorrent.src
%%DATADIR%%/engines/Clusty.src
%%DATADIR%%/engines/CreativeCommons.src