sanjaya     2003/07/27 02:59:48

  Modified:    c/src/engine AxisEngine.h AxisEngine.cpp
  Log:
  added new method to return the WSDDDeployment object associated with
  an instance of AxisEngine.
  Modified the code the use the SOAPAction http header as the service name.
  
  Revision  Changes    Path
  1.4       +1 -0      xml-axis/c/src/engine/AxisEngine.h
  
  Index: AxisEngine.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/engine/AxisEngine.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AxisEngine.h      24 Jul 2003 09:28:49 -0000      1.3
  +++ AxisEngine.h      27 Jul 2003 09:59:47 -0000      1.4
  @@ -96,6 +96,7 @@
   
        static AxisEngine* GetAxisEngine();
        int Process(soapstream* soap);
  +     WSDDDeployment* getWSDDDeployment();
   };
   
   #endif
  
  
  
  1.9       +17 -19    xml-axis/c/src/engine/AxisEngine.cpp
  
  Index: AxisEngine.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/engine/AxisEngine.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- AxisEngine.cpp    24 Jul 2003 09:30:01 -0000      1.8
  +++ AxisEngine.cpp    27 Jul 2003 09:59:48 -0000      1.9
  @@ -24,15 +24,6 @@
    *       "This product includes software developed by the
    *        Apache Software Foundation (http://www.apache.org/)."
    *    Alternately, this acknowledgment may appear in the software itself,
  -
  -
  -
  -
  -
  -
  -
  -
  -
    *    if and wherever such third-party acknowledgments normally appear.
    *
    * 4. The names "SOAP" and "Apache Software Foundation" must
  @@ -83,7 +74,7 @@
   
   
   #ifdef WIN32
  -#define WSDDFILEPATH "C:/Apache/Axis/server.wsdd"
  +#define WSDDFILEPATH "./Axis/conf/server.wsdd"
   #else //For linux
   #define WSDDFILEPATH "/usr/local/axiscpp/axis/server.wsdd"
   #endif
  @@ -97,8 +88,6 @@
   
   AxisEngine* AxisEngine::m_pObject = NULL;
   
  -
  -
   AxisEngine::AxisEngine()
   {
        //Create Serializer and Deserializer
  @@ -121,6 +110,15 @@
        XMLPlatformUtils::Terminate();
   }
   
  +WSDDDeployment * AxisEngine::getWSDDDeployment()
  +{
  +     if(m_pWSDD)
  +     {
  +             return m_pWSDD; 
  +     }
  +     return NULL;
  +}
  +
   AxisEngine* AxisEngine::GetAxisEngine()
   {
        if (!m_pObject)
  @@ -149,11 +147,11 @@
   
   int AxisEngine::Process(soapstream* soap) 
   {
  -     send_response_bytes("in process");
  +
     try
     {
       DEBUG1("AxisEngine::Process");
  -
  + 
          MessageData* pMsg = NULL;
          MemBufInputSource* pSoapInput = NULL;
          WSDDHandlerList* pHandlerList = NULL;
  @@ -167,15 +165,15 @@
                  pMsg->m_Protocol = soap->trtype;
                  pMsg->SetSerializer(m_pSZ);
                  pMsg->SetDeSerializer(m_pDZ);
  -
  +    
                  //Adding SoapEnvelop and SoapBody to Serializer
                  SoapEnvelope* pEnv = new SoapEnvelope();
                  pMsg->m_pSZ->setSoapEnvelope(pEnv);
                  pMsg->m_pSZ->setSoapBody(new SoapBody());
   
  -               string service = "Maths";//getheader(soap, SOAPACTIONHEADER);
  +               string service = getheader(soap, SOAPACTIONHEADER);
  +               service = service.substr(1, service.length() - 2);
   
  -    
         DEBUG2("string service = Maths :",service.c_str());
        
                  if (service.empty()) 
  @@ -204,7 +202,7 @@
             //if no soap then quit
                  if (nChars <= 0) break;
                  pSoapInput = new MemBufInputSource((const unsigned char*)hugebuffer, 
nChars ,"bufferid",false);
  - 
  +
                  if (SUCCESS != m_pDZ->SetStream(pSoapInput)) //this parses the full 
soap request.
                  {
                          
pMsg->m_pSZ->setSoapFault(SoapFault::getSoapFault(SF_SOAPCONTENTERROR));
  @@ -309,7 +307,7 @@
          if (pSoapInput) delete pSoapInput; //this should not be done if we use 
progressive parsing
          //set soap version to the serializer.
          //Serialize
  -       //m_sResponse = "";
  +       send_transport_information(soap);
          int iStatus= m_pSZ->getStream();
         
          //soap->so.http.op_soap = new char(sResponse.length() + 1); 
  
  
  

Reply via email to