Hi Rangika,

SOAP Attachments have just broken my latest code.

Please can you create a branch to do this work in and back out your latest changes? We agreed that this was not being done in 1.5 right ?

thanks,
John.




[EMAIL PROTECTED]

22/02/2005 08:56

To
[EMAIL PROTECTED]
cc
Subject
cvs commit: ws-axis/c/src/soap SoapAttachment.hpp SoapAttachment.cpp SoapAttachementHeaders.cpp





rangika     2005/02/22 00:56:34

 Modified:    c/src/soap SoapAttachment.hpp SoapAttachment.cpp
                       SoapAttachementHeaders.cpp
 Log:
 Modified to support Binary attachments.
 
 Revision  Changes    Path
 1.5       +4 -1      ws-axis/c/src/soap/SoapAttachment.hpp
 
 Index: SoapAttachment.hpp
 ===================================================================
 RCS file: /home/cvs/ws-axis/c/src/soap/SoapAttachment.hpp,v
 retrieving revision 1.4
 retrieving revision 1.5
 diff -u -r1.4 -r1.5
 --- SoapAttachment.hpp                 28 Jan 2005 11:47:09 -0000                 1.4
 +++ SoapAttachment.hpp                 22 Feb 2005 08:56:34 -0000                 1.5
 @@ -54,12 +54,15 @@
  private:                
                   SoapAttachementHeaders* m_AttachementHeaders;
                   xsd__base64Binary* m_AttachementBody;
 -
 +    char *m_binaryBody;
 +    int iEncodingStyle;
 +    
  public:                
                   const char* getHeader(const char* pchName);
                   xsd__base64Binary* getBody();
                   void serialize(SoapSerializer& pSZ);
                   void addBody(xsd__base64Binary* objBody);
 +    void addBody(char* pchBinaryBody);
                   void addHeader(const char* pchName, const char* pchValue);
                   SoapAttachment();
                   virtual ~SoapAttachment();                
 
 
 
 1.6       +22 -4     ws-axis/c/src/soap/SoapAttachment.cpp
 
 Index: SoapAttachment.cpp
 ===================================================================
 RCS file: /home/cvs/ws-axis/c/src/soap/SoapAttachment.cpp,v
 retrieving revision 1.5
 retrieving revision 1.6
 diff -u -r1.5 -r1.6
 --- SoapAttachment.cpp                 31 Jan 2005 04:37:38 -0000                 1.5
 +++ SoapAttachment.cpp                 22 Feb 2005 08:56:34 -0000                 1.6
 @@ -63,9 +63,18 @@
 
  void SoapAttachment::addBody(xsd__base64Binary* objBody)
  {
 +    iEncodingStyle = AXIS_BASE64;
                   m_AttachementBody = objBody;
  }
 
 +void SoapAttachment::addBody(char* pchBinaryBody)
 +{
 +    iEncodingStyle = AXIS_BINARY;
 +    m_binaryBody = new char[strlen(pchBinaryBody) + 1];
 +    strcpy(m_binaryBody,pchBinaryBody);
 +
 +}
 +
  void SoapAttachment::serialize(SoapSerializer &pSZ)
  {
                   /* Serialize the Attachment Headers */
 @@ -73,10 +82,19 @@
                   m_AttachementHeaders->serialize(pSZ);
 
                   /* Serialize the Attachment Body */
 -                 if (m_AttachementBody) {
 -                                  pSZ.serialize("\n", NULL);
 -                                  pSZ.serializeAsChardata(m_AttachementBody, XSD_BASE64BINARY);
 -                 }
 +    if (iEncodingStyle == AXIS_BASE64)
 +    {
 +                     if (m_AttachementBody) {
 +                                      pSZ.serialize("\n", NULL);
 +                                      pSZ.serializeAsChardata(m_AttachementBody, XSD_BASE64BINARY);
 +                     }
 +    }
 +    else if (iEncodingStyle == AXIS_BINARY)
 +    {
 +        pSZ.serialize("\n", NULL);
 +        pSZ.serialize(m_binaryBody, NULL);
 +    }
 +
                   pSZ.serialize("\n", NULL);
  }
 
 
 
 
 1.7       +1 -1      ws-axis/c/src/soap/SoapAttachementHeaders.cpp
 
 Index: SoapAttachementHeaders.cpp
 ===================================================================
 RCS file: /home/cvs/ws-axis/c/src/soap/SoapAttachementHeaders.cpp,v
 retrieving revision 1.6
 retrieving revision 1.7
 diff -u -r1.6 -r1.7
 --- SoapAttachementHeaders.cpp                 31 Jan 2005 13:00:53 -0000                 1.6
 +++ SoapAttachementHeaders.cpp                 22 Feb 2005 08:56:34 -0000                 1.7
 @@ -81,4 +81,4 @@
                   return "";
  }
 
 -AXIS_CPP_NAMESPACE_END
 +AXIS_CPP_NAMESPACE_END
 \ No newline at end of file
 
 
 

Reply via email to