You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by su...@apache.org on 2004/06/21 15:14:03 UTC

cvs commit: ws-axis/c/tests/client/stubTest/stubBase StubBase.dsp InteropBaseClient.cpp InteropTestPortType.cpp InteropTestPortType.h

susantha    2004/06/21 06:14:03

  Modified:    c/include/axis/server HeaderBlock.h IHeaderBlock.h
               c/src/engine/client Call.cpp
               c/src/soap HeaderBlock.cpp SoapSerializer.cpp
               c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp
                        ClientStubHeaderWriter.java
               c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal
                        ClientStubHeaderWriter.java
               c/tests/client/stubTest/stubBase InteropBaseClient.cpp
                        InteropTestPortType.cpp InteropTestPortType.h
  Added:       c/tests  alltests.dsw
               c/tests/client/stubTest/stubBase StubBase.dsp
  Log:
  Fixed the bug reported in mail thread
  http://marc.theaimsgroup.com/?l=axis-c-dev&m=108780799904108&w=2
  
  Revision  Changes    Path
  1.16      +7 -5      ws-axis/c/include/axis/server/HeaderBlock.h
  
  Index: HeaderBlock.h
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/include/axis/server/HeaderBlock.h,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- HeaderBlock.h	14 Jun 2004 08:00:44 -0000	1.15
  +++ HeaderBlock.h	21 Jun 2004 13:14:02 -0000	1.16
  @@ -99,7 +99,7 @@
           list<AxisChar*>& lstTmpNameSpaceStack);
   
       AxisString m_localname;
  -    AxisString m_prefix;
  +    AxisString m_sPrefix;
       AxisString m_uri;
       list<Attribute*> m_attributes;
       list<Attribute*> m_namespaceDecls;
  @@ -309,13 +309,16 @@
         */
       void setUri(const AxisChar* uri);
   
  -    /**
  +    /*
         * Sets the prefix of this Header Block.
         *
         * @param prefix The prefix to set in.
         */
  +	/* Commented by Susantha - 21/06/2004
  +	 * The prefix should be decided by the Serializer at runtime
  +	 *
       void setPrefix(const AxisChar* prefix);
  -
  +	*/
       /**
         * Sets the namespace declaration of the Header Block.
         *
  @@ -332,8 +335,7 @@
         * @param pachPrefix The prefix of this Header Block.
         * @param pachUri The namespace uri of this Header Block.
         */
  -    HeaderBlock(const AxisChar* pachLocalName, const AxisChar* pachPrefix, 
  -        const AxisChar* pachUri);
  +    HeaderBlock(const AxisChar* pachLocalName, const AxisChar* pachUri);
   
       /**
         * The Constructor.
  
  
  
  1.14      +5 -1      ws-axis/c/include/axis/server/IHeaderBlock.h
  
  Index: IHeaderBlock.h
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/include/axis/server/IHeaderBlock.h,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- IHeaderBlock.h	14 Jun 2004 10:20:25 -0000	1.13
  +++ IHeaderBlock.h	21 Jun 2004 13:14:02 -0000	1.14
  @@ -258,12 +258,16 @@
         */
       virtual void setUri(const AxisChar* uri)=0;
   
  -    /**
  +    /*
         * Sets the prefix of this Header Block.
         *
         * @param prefix The prefix to set in.
         */
  +	/* Commented by Susantha - 21/06/2004
  +	 * The prefix should be decided by the Serializer at runtime
  +	 *
       virtual void setPrefix(const AxisChar* prefix)=0;
  +	*/
   #ifdef UNIT_TESTING_ON
       /**
         * Initialized the Header Block for testing.
  
  
  
  1.48      +1 -2      ws-axis/c/src/engine/client/Call.cpp
  
  Index: Call.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/engine/client/Call.cpp,v
  retrieving revision 1.47
  retrieving revision 1.48
  diff -u -r1.47 -r1.48
  --- Call.cpp	14 Jun 2004 08:00:46 -0000	1.47
  +++ Call.cpp	21 Jun 2004 13:14:02 -0000	1.48
  @@ -1,4 +1,3 @@
  -/* -*- C++ -*- */
   /*
    *   Copyright 2003-2004 The Apache Software Foundation.
    *
  @@ -577,7 +576,7 @@
   IHeaderBlock* Call::createHeaderBlock(AxisChar* pachLocalName, 
                                          AxisChar* pachUri)
   {
  -    return (m_pIWSSZ->createHeaderBlock (pachLocalName, pachUri));
  + 	return new HeaderBlock(pachLocalName, pachUri);
   }
   
   int Call::getStatus() 
  
  
  
  1.22      +17 -15    ws-axis/c/src/soap/HeaderBlock.cpp
  
  Index: HeaderBlock.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/soap/HeaderBlock.cpp,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- HeaderBlock.cpp	14 Jun 2004 08:00:46 -0000	1.21
  +++ HeaderBlock.cpp	21 Jun 2004 13:14:02 -0000	1.22
  @@ -46,21 +46,20 @@
   HeaderBlock::HeaderBlock()
   {
       iNoOFChildren = 0;
  +	m_sPrefix = "";
   }
   
  -HeaderBlock::HeaderBlock(const AxisChar *pachLocalName, const AxisChar *pachPrefix,
  -                         const AxisChar *pachUri)
  +HeaderBlock::HeaderBlock(const AxisChar *pachLocalName, const AxisChar *pachUri)
   {
       iNoOFChildren = 0;
  -
       m_localname = pachLocalName;
  -    m_prefix = pachPrefix;
       m_uri = pachUri;
  +	m_sPrefix = "";
   }
   
   HeaderBlock::HeaderBlock(const HeaderBlock& rCopy):
   IHeaderBlock(rCopy), iNoOFChildren(rCopy.iNoOFChildren), m_localname(rCopy.m_localname),
  -m_prefix(rCopy.m_prefix), m_uri(rCopy.m_uri)  
  +m_sPrefix(rCopy.m_sPrefix), m_uri(rCopy.m_uri)  
   {
   
       list<BasicNode*>::const_iterator itCurrChild= rCopy.m_children.begin();
  @@ -131,11 +130,14 @@
       m_localname= localname;
   }
   
  +/* Commented by Susantha - 21/06/2004
  + * The prefix should be decided by the Serializer at runtime
  + *
   void HeaderBlock::setPrefix(const AxisChar* prefix)
   {
  -    m_prefix= prefix;
  +    m_sPrefix= prefix;
   }
  -
  +*/
   void HeaderBlock::setUri(const AxisChar* uri)
   {
       m_uri= uri;
  @@ -149,7 +151,7 @@
   int HeaderBlock::serialize(SoapSerializer& pSZ)
   {
       /*
  -     *In the code we don't look whether the m_prefix is available or
  +     *In the code we don't look whether the m_sPrefix is available or
        *    not. Instead directly insert it. The reason is that the SOAP
        *  1.1 spec says that "All immediate child elements of the SOAP 
        *  Header element MUST be namespace-qualified".
  @@ -168,9 +170,9 @@
   
           pSZ.serialize("<", NULL);
   
  -        if(m_prefix.length() == 0)
  +        if(m_sPrefix.length() == 0)
           {
  -            m_prefix = pSZ.getNamespacePrefix(m_uri.c_str(),
  +            m_sPrefix = pSZ.getNamespacePrefix(m_uri.c_str(),
                   blnIsNewNamespace);
               if (blnIsNewNamespace)
               {
  @@ -178,8 +180,8 @@
               }
           }
   
  -        pSZ.serialize(m_prefix.c_str(), ":", m_localname.c_str(),
  -            " xmlns:", m_prefix.c_str(), "=\"", m_uri.c_str(), "\"", NULL);
  +        pSZ.serialize(m_sPrefix.c_str(), ":", m_localname.c_str(),
  +            " xmlns:", m_sPrefix.c_str(), "=\"", m_uri.c_str(), "\"", NULL);
   
           iStatus= attrSerialize(pSZ, lstTmpNameSpaceStack);
           if(iStatus==AXIS_FAIL)
  @@ -201,7 +203,7 @@
               break;
           }
   
  -        pSZ.serialize("</", m_prefix.c_str(), ":", m_localname.c_str(), ">",
  +        pSZ.serialize("</", m_sPrefix.c_str(), ":", m_localname.c_str(), ">",
               NULL);
   
           /*
  @@ -216,7 +218,7 @@
           }
               
       } while(0);
  -
  +	m_sPrefix = "";
       return iStatus;
   }
   
  @@ -250,7 +252,7 @@
       }
       else
       {
  -        if(m_prefix.length() == 0)
  +        if(m_sPrefix.length() == 0)
           {
               if(m_uri.length() != 0)
               {
  
  
  
  1.60      +1 -2      ws-axis/c/src/soap/SoapSerializer.cpp
  
  Index: SoapSerializer.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/soap/SoapSerializer.cpp,v
  retrieving revision 1.59
  retrieving revision 1.60
  diff -u -r1.59 -r1.60
  --- SoapSerializer.cpp	14 Jun 2004 14:15:34 -0000	1.59
  +++ SoapSerializer.cpp	21 Jun 2004 13:14:02 -0000	1.60
  @@ -860,8 +860,7 @@
   IHeaderBlock* SoapSerializer::createHeaderBlock(AxisChar *pachLocalName, 
                                                   AxisChar *pachUri)
   {
  -    HeaderBlock* pHeaderBlock= new HeaderBlock(pachLocalName, 
  -        getNamespacePrefix(pachUri), pachUri);
  +    HeaderBlock* pHeaderBlock= new HeaderBlock(pachLocalName, pachUri);
       setHeaderBlock(pHeaderBlock);
       return pHeaderBlock;    
   }
  
  
  
  1.21      +1 -1      ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubHeaderWriter.java
  
  Index: ClientStubHeaderWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubHeaderWriter.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- ClientStubHeaderWriter.java	15 Jun 2004 13:47:00 -0000	1.20
  +++ ClientStubHeaderWriter.java	21 Jun 2004 13:14:02 -0000	1.21
  @@ -85,7 +85,7 @@
   	 */
   	protected void writeConstructors() throws WrapperFault {
   		try{
  -		writer.write("public:\n\t"+classname+"(const char* pchEndpointUri, AXIS_PROTOCOL_TYPE eProtocol);\n");
  +		writer.write("public:\n\t"+classname+"(const char* pchEndpointUri, AXIS_PROTOCOL_TYPE eProtocol=APTHTTP);\n");
   		writer.write("\t"+classname+"();\n");
   		}catch(IOException e){
   			throw new WrapperFault(e);
  
  
  
  1.15      +1 -1      ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubHeaderWriter.java
  
  Index: ClientStubHeaderWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubHeaderWriter.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- ClientStubHeaderWriter.java	15 Jun 2004 13:47:22 -0000	1.14
  +++ ClientStubHeaderWriter.java	21 Jun 2004 13:14:02 -0000	1.15
  @@ -90,7 +90,7 @@
   	 */
   	protected void writeConstructors() throws WrapperFault {
   		try{
  -			writer.write("public:\n\t"+classname+"(const char* pchEndpointUri, AXIS_PROTOCOL_TYPE eProtocol);\n");
  +			writer.write("public:\n\t"+classname+"(const char* pchEndpointUri, AXIS_PROTOCOL_TYPE eProtocol=APTHTTP);\n");
   			writer.write("\t"+classname+"();\n");
   		}catch(IOException e){
   			throw new WrapperFault(e);
  
  
  
  1.1                  ws-axis/c/tests/alltests.dsw
  
  Index: alltests.dsw
  ===================================================================
  Microsoft Developer Studio Workspace File, Format Version 6.00
  # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
  
  ###############################################################################
  
  Project: "StubBase"=".\CLIENT\STUBTEST\StubBase\StubBase.dsp" - Package Owner=<4>
  
  Package=<5>
  {{{
  }}}
  
  Package=<4>
  {{{
  }}}
  
  ###############################################################################
  
  Global:
  
  Package=<5>
  {{{
  }}}
  
  Package=<3>
  {{{
  }}}
  
  ###############################################################################
  
  
  
  
  1.9       +1 -1      ws-axis/c/tests/client/stubTest/stubBase/InteropBaseClient.cpp
  
  Index: InteropBaseClient.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/tests/client/stubTest/stubBase/InteropBaseClient.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- InteropBaseClient.cpp	14 Jun 2004 08:00:47 -0000	1.8
  +++ InteropBaseClient.cpp	21 Jun 2004 13:14:02 -0000	1.9
  @@ -46,7 +46,7 @@
       printf("Usage :\n %s <server> <port>\n\n", argv[0]);
       //sprintf(endpoint, "http://%s:%s/axis/base", server, port);
       //endpoint for Axis Java sample
  -    sprintf(endpoint, "http://%s:%s/axis/services/echo", server, port);
  +    sprintf(endpoint, "http://%s:%s/axis/base", server, port);
       InteropTestPortType ws(endpoint);
   
       //set end point (optional) 
  
  
  
  1.2       +2 -2      ws-axis/c/tests/client/stubTest/stubBase/InteropTestPortType.cpp
  
  Index: InteropTestPortType.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/tests/client/stubTest/stubBase/InteropTestPortType.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InteropTestPortType.cpp	26 May 2004 10:00:46 -0000	1.1
  +++ InteropTestPortType.cpp	21 Jun 2004 13:14:02 -0000	1.2
  @@ -16,8 +16,8 @@
   extern int Axis_Serialize_SOAPStruct(SOAPStruct* param, IWrapperSoapSerializer* pSZ, bool bArray = false);
   extern int Axis_GetSize_SOAPStruct();
   
  -InteropTestPortType::InteropTestPortType(const char* pchEndpointUri)
  -:Stub(pchEndpointUri)
  +InteropTestPortType::InteropTestPortType(const char* pchEndpointUri, AXIS_PROTOCOL_TYPE eProtocol)
  +:Stub(pchEndpointUri, eProtocol)
   {
   }
   
  
  
  
  1.2       +1 -1      ws-axis/c/tests/client/stubTest/stubBase/InteropTestPortType.h
  
  Index: InteropTestPortType.h
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/tests/client/stubTest/stubBase/InteropTestPortType.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InteropTestPortType.h	26 May 2004 10:00:46 -0000	1.1
  +++ InteropTestPortType.h	21 Jun 2004 13:14:02 -0000	1.2
  @@ -13,7 +13,7 @@
   class InteropTestPortType :public Stub 
   {
   public:
  -	InteropTestPortType(const char* pchEndpointUri);
  +	InteropTestPortType(const char* pchEndpointUri, AXIS_PROTOCOL_TYPE eProtocol=APTHTTP);
   	virtual ~InteropTestPortType();
   public: 
   	xsd__string echoString(xsd__string Value0);
  
  
  
  1.1                  ws-axis/c/tests/client/stubTest/stubBase/StubBase.dsp
  
  Index: StubBase.dsp
  ===================================================================
  # Microsoft Developer Studio Project File - Name="StubBase" - Package Owner=<4>
  # Microsoft Developer Studio Generated Build File, Format Version 6.00
  # ** DO NOT EDIT **
  
  # TARGTYPE "Win32 (x86) Console Application" 0x0103
  
  CFG=StubBase - Win32 Debug
  !MESSAGE This is not a valid makefile. To build this project using NMAKE,
  !MESSAGE use the Export Makefile command and run
  !MESSAGE 
  !MESSAGE NMAKE /f "StubBase.mak".
  !MESSAGE 
  !MESSAGE You can specify a configuration when running NMAKE
  !MESSAGE by defining the macro CFG on the command line. For example:
  !MESSAGE 
  !MESSAGE NMAKE /f "StubBase.mak" CFG="StubBase - Win32 Debug"
  !MESSAGE 
  !MESSAGE Possible choices for configuration are:
  !MESSAGE 
  !MESSAGE "StubBase - Win32 Release" (based on "Win32 (x86) Console Application")
  !MESSAGE "StubBase - Win32 Debug" (based on "Win32 (x86) Console Application")
  !MESSAGE 
  
  # Begin Project
  # PROP AllowPerConfigDependencies 0
  # PROP Scc_ProjName ""
  # PROP Scc_LocalPath ""
  CPP=cl.exe
  RSC=rc.exe
  
  !IF  "$(CFG)" == "StubBase - Win32 Release"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 0
  # PROP BASE Output_Dir "Release"
  # PROP BASE Intermediate_Dir "Release"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 0
  # PROP Output_Dir "Release"
  # PROP Intermediate_Dir "Release"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
  # ADD CPP /nologo /W3 /GX /O2 /I "../../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
  # ADD BASE RSC /l 0x409 /d "NDEBUG"
  # ADD RSC /l 0x409 /d "NDEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
  # ADD LINK32 AxisClient.lib /nologo /subsystem:console /machine:I386 /out:"../../../../bin/StubBase.exe" /libpath:"../../../../bin"
  
  !ELSEIF  "$(CFG)" == "StubBase - Win32 Debug"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 1
  # PROP BASE Output_Dir "Debug"
  # PROP BASE Intermediate_Dir "Debug"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 1
  # PROP Output_Dir "Debug"
  # PROP Intermediate_Dir "Debug"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ  /c
  # ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ  /c
  # ADD BASE RSC /l 0x409 /d "_DEBUG"
  # ADD RSC /l 0x409 /d "_DEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
  # ADD LINK32 AxisClient_D.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../../bin/StubBase_D.exe" /pdbtype:sept /libpath:"../../../../bin"
  
  !ENDIF 
  
  # Begin Target
  
  # Name "StubBase - Win32 Release"
  # Name "StubBase - Win32 Debug"
  # Begin Group "Source Files"
  
  # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
  # Begin Source File
  
  SOURCE=.\InteropBaseClient.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=.\InteropTestPortType.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=.\SOAPStruct.cpp
  # End Source File
  # End Group
  # Begin Group "Header Files"
  
  # PROP Default_Filter "h;hpp;hxx;hm;inl"
  # Begin Source File
  
  SOURCE=.\InteropTestPortType.h
  # End Source File
  # Begin Source File
  
  SOURCE=.\SOAPStruct.h
  # End Source File
  # Begin Source File
  
  SOURCE=.\SOAPStruct_Array.h
  # End Source File
  # End Group
  # Begin Group "Resource Files"
  
  # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
  # End Group
  # End Target
  # End Project