You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2006/03/07 02:17:49 UTC

svn commit: r383738 - /webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp

Author: nadiramra
Date: Mon Mar  6 17:17:48 2006
New Revision: 383738

URL: http://svn.apache.org/viewcvs?rev=383738&view=rev
Log:
C support fixes/enhancements.

Modified:
    webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp

Modified: webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp?rev=383738&r1=383737&r2=383738&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp Mon Mar  6 17:17:48 2006
@@ -29,37 +29,47 @@
 #include <axis/IWrapperSoapSerializer.h>
 
 AXISC_STORAGE_CLASS_INFO 
-void axiscDestroyIWrapperSoapSerializer(AXISCHANDLE wrapperSoapSerializer) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	delete sz;
+void axiscDestroyIWrapperSoapSerializer(AXISCHANDLE wrapperSoapSerializer) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    delete sz;
 }
 
 AXISC_STORAGE_CLASS_INFO 
-int axiscCreateSoapMethod(AXISCHANDLE wrapperSoapSerializer, const AxiscChar * sLocalName, 
-	const AxiscChar * sURI) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	return sz->createSoapMethod(sLocalName,sURI);
+int axiscCreateSoapMethod(AXISCHANDLE wrapperSoapSerializer, 
+                          const AxiscChar * sLocalName, 
+                          const AxiscChar * sURI) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return sz->createSoapMethod(sLocalName,sURI);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-int axiscCreateSoapFault(AXISCHANDLE wrapperSoapSerializer, const AxiscChar * sLocalName, 
-	const AxiscChar * sURI, const AxiscChar * sFaultCode, 
-	const AxiscChar * sFaultString) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	return sz->createSoapFault(sLocalName,sURI,sFaultCode,sFaultString);
+int axiscCreateSoapFault(AXISCHANDLE wrapperSoapSerializer, 
+                         const AxiscChar * sLocalName, 
+                         const AxiscChar * sURI, 
+                         const AxiscChar * sFaultCode, 
+                         const AxiscChar * sFaultString) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return sz->createSoapFault(sLocalName,sURI,sFaultCode,sFaultString);
 }
 
-//AXISC_STORAGE_CLASS_INFO 
-// const AxiscChar * axiscGetNamespacePrefixIWrapperSoapSerializer(
-//	AXISCHANDLE wrapperSoapSerializer, const AxiscChar * pNamespace) {
-//	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-//	return sz->getNamespacePrefix(pNamespace);
-//}
+/**
+AXISC_STORAGE_CLASS_INFO 
+const AxiscChar * axiscGetNamespacePrefixIWrapperSoapSerializer(AXISCHANDLE wrapperSoapSerializer, 
+                                                                const AxiscChar * pNamespace) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return sz->getNamespacePrefix(pNamespace);
+}
+***/
 
 AXISC_STORAGE_CLASS_INFO 
-const AxiscChar * axiscGetNamespacePrefixIWrapperSoapSerializer(
-    AXISCHANDLE wrapperSoapSerializer, const AxiscChar * pNamespace,
-    AxiscBool * blnIsNewPrefix) {
+const AxiscChar * axiscGetNamespacePrefixIWrapperSoapSerializer(AXISCHANDLE wrapperSoapSerializer, 
+                                                                const AxiscChar * pNamespace,
+                                                                AxiscBool * blnIsNewPrefix) 
+{
     IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
     
     bool isNewPrefix = false;
@@ -69,161 +79,222 @@
 }
 
 AXISC_STORAGE_CLASS_INFO 
-void axiscRemoveNamespacePrefix(AXISCHANDLE wrapperSoapSerializer, const AxiscChar * pNamespace) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	sz->removeNamespacePrefix(pNamespace);
+void axiscRemoveNamespacePrefix(AXISCHANDLE wrapperSoapSerializer, 
+                                const AxiscChar * pNamespace) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    sz->removeNamespacePrefix(pNamespace);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-int axiscAddOutputParam(AXISCHANDLE wrapperSoapSerializer, const AxiscChar * pchName, 
-	void * pValue, AXISC_XSDTYPE type) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	return sz->addOutputParam(pchName,pValue,(XSDTYPE)type);
+int axiscAddOutputParam(AXISCHANDLE wrapperSoapSerializer, 
+                        const AxiscChar * pchName, 
+                        void * pValue, 
+                        AXISC_XSDTYPE type) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return sz->addOutputParam(pchName,pValue,(XSDTYPE)type);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-int axiscAddOutputCmplxArrayParam(AXISCHANDLE wrapperSoapSerializer, const Axisc_Array * pArray, 
-	void * pSZFunct, void * pDelFunct, void * pSizeFunct, 
-	const AxiscChar * pName, const AxiscChar * pNamespace) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	return sz->addOutputCmplxArrayParam((const Axis_Array*)pArray,pSZFunct,pDelFunct,pSizeFunct,pName,pNamespace);
+int axiscAddOutputCmplxArrayParam(AXISCHANDLE wrapperSoapSerializer, 
+                                  const Axisc_Array * pArray, 
+                                  void * pSZFunct, 
+                                  void * pDelFunct, 
+                                  void * pSizeFunct,
+                                  const AxiscChar * pName, 
+                                  const AxiscChar * pNamespace) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return sz->addOutputCmplxArrayParam((const Axis_Array*)pArray,pSZFunct,pDelFunct,pSizeFunct,pName,pNamespace);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-int axiscAddOutputBasicArrayParam(AXISCHANDLE wrapperSoapSerializer, const Axisc_Array * pArray, 
-	AXISC_XSDTYPE nType, const AxiscChar * pName) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	return sz->addOutputBasicArrayParam((const Axis_Array*)pArray,(XSDTYPE)nType,pName);
+int axiscAddOutputBasicArrayParam(AXISCHANDLE wrapperSoapSerializer, 
+                                  const Axisc_Array * pArray,
+                                  AXISC_XSDTYPE nType, 
+                                  const AxiscChar * pName) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return sz->addOutputBasicArrayParam((const Axis_Array*)pArray,(XSDTYPE)nType,pName);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-int axiscAddOutputCmplxParam(AXISCHANDLE wrapperSoapSerializer, void * pObject, 
-	void * pSZFunct, void * pDelFunct, const AxiscChar * pName, 
-	const AxiscChar * pNamespace) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	return sz->addOutputCmplxParam(pObject,pSZFunct,pDelFunct,pName,pNamespace);
+int axiscAddOutputCmplxParam(AXISCHANDLE wrapperSoapSerializer, 
+                             void * pObject, 
+                             void * pSZFunct, 
+                             void * pDelFunct, 
+                             const AxiscChar * pName,
+                             const AxiscChar * pNamespace) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return sz->addOutputCmplxParam(pObject,pSZFunct,pDelFunct,pName,pNamespace);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-int axiscAddFaultDetail(AXISCHANDLE wrapperSoapSerializer, void * pObject, 
-	void * pSZFunct, void * pDelFunct, const AxiscChar * pName, 
-	const AxiscChar * pNamespace) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	return sz->addFaultDetail(pObject,pSZFunct,pDelFunct,pName,pNamespace);
+int axiscAddFaultDetail(AXISCHANDLE wrapperSoapSerializer, 
+                        void * pObject, 
+                        void * pSZFunct, 
+                        void * pDelFunct, 
+                        const AxiscChar * pName, 
+                        const AxiscChar * pNamespace) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return sz->addFaultDetail(pObject,pSZFunct,pDelFunct,pName,pNamespace);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-int axiscSerializeCmplxArray(AXISCHANDLE wrapperSoapSerializer, const Axisc_Array * pArray, 
-	void * pSZFunct, void * pDelFunct, void * pSizeFunct, 
-	const AxiscChar * pName, const AxiscChar * pNamespace) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	return sz->serializeCmplxArray((const Axis_Array*)pArray,pSZFunct,pDelFunct,pSizeFunct,pName,pNamespace);
+int axiscSerializeCmplxArray(AXISCHANDLE wrapperSoapSerializer, 
+                             const Axisc_Array * pArray,
+                             void * pSZFunct, 
+                             void * pDelFunct, 
+                             void * pSizeFunct, 
+                             const AxiscChar * pName, 
+                             const AxiscChar * pNamespace) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return sz->serializeCmplxArray((const Axis_Array*)pArray,pSZFunct,pDelFunct,pSizeFunct,pName,pNamespace);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-int axiscSerializeBasicArray(AXISCHANDLE wrapperSoapSerializer, const Axisc_Array * pArray, 
-	const AxiscChar * pNamespace,AXISC_XSDTYPE nType, const AxiscChar * pName) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	return sz->serializeBasicArray((const Axis_Array*)pArray,pNamespace,(XSDTYPE)nType,pName);
+int axiscSerializeBasicArray(AXISCHANDLE wrapperSoapSerializer, 
+                             const Axisc_Array * pArray, 
+                             const AxiscChar * pNamespace,
+                             AXISC_XSDTYPE nType, 
+                             const AxiscChar * pName)
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return sz->serializeBasicArray((const Axis_Array*)pArray,pNamespace,(XSDTYPE)nType,pName);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-int axiscSerializeAsElement(AXISCHANDLE wrapperSoapSerializer, const AxiscChar * sName, 
-	const AxiscChar * pNamespace, void * pValue, AXISC_XSDTYPE type) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	if (pNamespace)
-		return sz->serializeAsElement(sName,pNamespace,pValue,(XSDTYPE)type);
-	return sz->serializeAsElement(sName,pValue,(XSDTYPE)type);
+int axiscSerializeAsElement(AXISCHANDLE wrapperSoapSerializer, 
+                            const AxiscChar * sName, 
+                            const AxiscChar * pNamespace, 
+                            void * pValue, AXISC_XSDTYPE type) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    if (pNamespace)
+        return sz->serializeAsElement(sName,pNamespace,pValue,(XSDTYPE)type);
+    return sz->serializeAsElement(sName,pValue,(XSDTYPE)type);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-int axiscSerializeAsAttribute(AXISCHANDLE wrapperSoapSerializer, const AxiscChar * sName, 
-	const AxiscChar * pNamespace, void * pValue, AXISC_XSDTYPE type) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	return sz->serializeAsAttribute(sName,pNamespace,pValue,(XSDTYPE)type);
+int axiscSerializeAsAttribute(AXISCHANDLE wrapperSoapSerializer, 
+                              const AxiscChar * sName, 
+                              const AxiscChar * pNamespace, 
+                              void * pValue, 
+                              AXISC_XSDTYPE type) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return sz->serializeAsAttribute(sName,pNamespace,pValue,(XSDTYPE)type);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-void axiscSerializeStartElementOfType(AXISCHANDLE wrapperSoapSerializer, const AxiscChar * pName, 
-	const AxiscChar * pNamespace, const AxiscChar * pPrefix) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	sz->serializeStartElementOfType(pName,pNamespace,pPrefix);
+void axiscSerializeStartElementOfType(AXISCHANDLE wrapperSoapSerializer, 
+                                      const AxiscChar * pName, 
+                                      const AxiscChar * pNamespace, 
+                                      const AxiscChar * pPrefix) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    sz->serializeStartElementOfType(pName,pNamespace,pPrefix);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-void axiscSerializeEndElementOfType(AXISCHANDLE wrapperSoapSerializer, const AxiscChar * pName) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	sz->serializeEndElementOfType(pName);
+void axiscSerializeEndElementOfType(AXISCHANDLE wrapperSoapSerializer, 
+                                    const AxiscChar * pName) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    sz->serializeEndElementOfType(pName);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-AXISC_PROVIDERTYPE axiscGetCurrentProviderType(AXISCHANDLE wrapperSoapSerializer) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	return (AXISC_PROVIDERTYPE)(sz->getCurrentProviderType());
+AXISC_PROVIDERTYPE axiscGetCurrentProviderType(AXISCHANDLE wrapperSoapSerializer) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return (AXISC_PROVIDERTYPE)(sz->getCurrentProviderType());
 }
 
 AXISC_STORAGE_CLASS_INFO 
-void axiscSetCurrentProviderType(AXISCHANDLE wrapperSoapSerializer, AXISC_PROVIDERTYPE nType) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	sz->setCurrentProviderType((PROVIDERTYPE)nType);
+void axiscSetCurrentProviderType(AXISCHANDLE wrapperSoapSerializer, 
+                                 AXISC_PROVIDERTYPE nType) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    sz->setCurrentProviderType((PROVIDERTYPE)nType);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-int axiscAddOutputAnyObject(AXISCHANDLE wrapperSoapSerializer, AxiscAnyType * pAnyObject) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	return sz->addOutputAnyObject((AnyType*)pAnyObject);
+int axiscAddOutputAnyObject(AXISCHANDLE wrapperSoapSerializer, 
+                            AxiscAnyType * pAnyObject) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return sz->addOutputAnyObject((AnyType*)pAnyObject);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-int axiscSerializeAnyObject(AXISCHANDLE wrapperSoapSerializer, AxiscAnyType * pAnyObject) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	return sz->serializeAnyObject((AnyType*)pAnyObject);
+int axiscSerializeAnyObject(AXISCHANDLE wrapperSoapSerializer, 
+                            AxiscAnyType * pAnyObject) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return sz->serializeAnyObject((AnyType*)pAnyObject);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-int axiscSerializeAsChardata(AXISCHANDLE wrapperSoapSerializer, void * pValue, 
-	AXISC_XSDTYPE type) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	return sz->serializeAsChardata(pValue,(XSDTYPE)type);
+int axiscSerializeAsChardata(AXISCHANDLE wrapperSoapSerializer, 
+                             void * pValue, 
+                             AXISC_XSDTYPE type) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return sz->serializeAsChardata(pValue,(XSDTYPE)type);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-void axiscAddAttachment(AXISCHANDLE wrapperSoapSerializer, const AxiscChar * achId, 
-	AXISCHANDLE objAttach) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	sz->addAttachment(achId,(ISoapAttachment*)objAttach);
+void axiscAddAttachment(AXISCHANDLE wrapperSoapSerializer, 
+                        const AxiscChar * achId, 
+                        AXISCHANDLE objAttach) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    sz->addAttachment(achId,(ISoapAttachment*)objAttach);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-void axiscAddAttachmentBody(AXISCHANDLE wrapperSoapSerializer, const AxiscChar * achId, 
-	xsdc__base64Binary * pAttchBody) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	sz->addAttachmentBody(achId,(xsd__base64Binary*)pAttchBody);
+void axiscAddAttachmentBody(AXISCHANDLE wrapperSoapSerializer, 
+                            const AxiscChar * achId, 
+                            xsdc__base64Binary * pAttchBody) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    sz->addAttachmentBody(achId,(xsd__base64Binary*)pAttchBody);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-void axiscAddAttachmentHeader(AXISCHANDLE wrapperSoapSerializer, const AxiscChar * achId, 
-	const AxiscChar * achHeaderName, const AxiscChar * achHeaderValue) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	sz->addAttachmentHeader(achId,achHeaderName,achHeaderValue);
+void axiscAddAttachmentHeader(AXISCHANDLE wrapperSoapSerializer, 
+                              const AxiscChar * achId, 
+                              const AxiscChar * achHeaderName, 
+                              const AxiscChar * achHeaderValue) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    sz->addAttachmentHeader(achId,achHeaderName,achHeaderValue);
 }
 
 AXISC_STORAGE_CLASS_INFO 
-AXISCHANDLE axiscCreateSoapAttachmentSoapAttachment(AXISCHANDLE wrapperSoapSerializer) {
-	IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
-	return (AXISCHANDLE)(sz->createSoapAttachment());
+AXISCHANDLE axiscCreateSoapAttachmentSoapAttachment(AXISCHANDLE wrapperSoapSerializer) 
+{
+    IWrapperSoapSerializer *sz = (IWrapperSoapSerializer*)wrapperSoapSerializer;
+    return (AXISCHANDLE)(sz->createSoapAttachment());
 }
 
-AXISC_STORAGE_CLASS_INFO void axiscSerializeIWrapperSoapSerializer(
-	AXISCHANDLE wrapperSoapSerializer, const char *pFirst, ...) {
-	SoapSerializer *sz = (SoapSerializer*)wrapperSoapSerializer;
-	// TODO: There were problems getting the ... to work properly, so serializeVargs was
-	// introduced. Also wsdl2ws only ever calls this method with one parameter so
-	// ignore the extra parameters here for the moment. This should be fixed properly
-	// later. I think SoapSerializer::serialize is wrong to assume that the variable
-	// list of parameters will be terminated by a null pointer. I think we should always
-	// pass in an explicit parameter count here.
-	sz->serializeVargs(1,&pFirst);
+AXISC_STORAGE_CLASS_INFO void axiscSerializeIWrapperSoapSerializer(AXISCHANDLE wrapperSoapSerializer, 
+                                                                   const char *pFirst, 
+                                                                   ...) 
+{
+    SoapSerializer *sz = (SoapSerializer*)wrapperSoapSerializer;
+    // TODO: There were problems getting the ... to work properly, so serializeVargs was
+    // introduced. Also wsdl2ws only ever calls this method with one parameter so
+    // ignore the extra parameters here for the moment. This should be fixed properly
+    // later. I think SoapSerializer::serialize is wrong to assume that the variable
+    // list of parameters will be terminated by a null pointer. I think we should always
+    // pass in an explicit parameter count here.
+    sz->serializeVargs(1,&pFirst);
 }
 
 }