axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mansart Jean-sebastien <>
Subject Re: Hi ! and problem with axis-c++
Date Thu, 17 Jun 2004 14:21:33 GMT
I've got this in my HttpTransport.cpp:

void HttpTransport::HTTPBind()
    if (m_HttpBindDone) return;
    m_OutHttpHeaders = "";
    if(m_Typ == POST) /* only POST is supported for now, wish-list: 
M-POST?? */
        m_OutHttpHeaders = "POST ";
#ifdef HTTP_1_0
  /* As some servers require HTTP 1.0 we temporary define the
   * directive.
   * TODO: can be a WSDL2Ws argument
    m_OutHttpHeaders += m_Url.GetResource() + " HTTP/1.0\r\n";
    /* no support for proxy server yet */
    /* Use HTTP 1.1; if HTTP 1.0 is required we have to manage with setting
     * the properties
    m_OutHttpHeaders += m_Url.GetResource() + " HTTP/1.1\r\n";
    /* no support for proxy server yet */

it seems that it support chunking... no ?
but when it send the request it's in 1.1 not 1.0... so how do I modify 
this file ? I change the 1.1 in 1.0 to force it ?

Ben Souther wrote:

>I solved the problem by changing "HTTP/1.1" to "HTTP1.0" in 
>HttpTransport.cpp and recompiling the project.
>My webservices are written in Java and hosted on Axis/Tomcat
>I did hear, however, that support was added for chunking in the latest version 
>of Axis C++.  Try downloading the lastest version (might need to get from 
>On Thursday 17 June 2004 09:39 am, Mansart Jean-sebastien wrote:
>>ok, and how to do that ?
>>Kenneth Chiu wrote:
>>>On Thu, 17 Jun 2004, Mansart Jean-sebastien wrote:
>>>>I am a new user of axis c++
>>>>I am running under a debian with a 2.4 kernel, apache 1.3 tomcat and I
>>>>have installed Axis (Java version) and also axis-c.
>>>>So what I want is to run a client in c++ that ask for a webservice
>>>>throught Axis (java)... the webservice is in java too.
>>>>When I run the InteropBaseClient I have:
>>>>invoking echoString...
>>>>so I run the java applet TCPmon to see the messages sent and if there is
>>>>any response from the server. And the result is: yes, there is a query
>>>>and a response.
>>>>query made by the c++ client:
>>>>POST /axis/services/echo HTTP/1.1
>>>>Content-Type: text/xml; charset=UTF-8
>>>>SOAPAction: "base#echoString"
>>>>Content-Length: 396
>>>><?xml version='1.0' encoding='utf-8' ?>
>>>> <ns1:echoString xmlns:ns1="">
>>>>  <inputString xsi:type="xsd:string">hello world</inputString>
>>>> </ns1:echoString>
>>>>and this is the response frome the webservice:
>>>>HTTP/1.1 200 OK
>>>>Date: Thu, 17 Jun 2004 10:24:15 GMT
>>>>Server: Apache/1.3.29 (Debian GNU/Linux) mod_jk/1.2.5
>>>>Transfer-Encoding: chunked
>>>>Content-Type: text/xml; charset=utf-8
>>>><?xml version="1.0" encoding="UTF-8"?>
>>>><ns1:echoMeStringResponse soapenv:mustUnderstand="0"
>>>> <return xsi:type="xsd:string">hello world</return>
>>>>so I have notice that on the response of the webservice there is a '2a6'
>>>>before <?xml version="1.0" encoding="UTF-8"?> and there is a '0' at
>>>>end of the SOAP envelope...
>>>>so what I've done is to run a client in java that ask the same
>>>>webservice to see if there is no error, and there is no error, the
>>>>reponse of the webservice is clear with no 0 or 2a6 ...
>>>>Then I wanted to know where exactly there is a bug in the client, so I
>>>>have found it and it's in the file SoapDeSerialize.cpp in the methode
>>>>SoapEnvelope* SoapDeSerializer::GetEnvelope() and at the line if
>>>>(!m_pNode) m_pNode = m_pParser->Next(); that is line 73.
>>>>So I think that it make an error when it trying to read a node on the
>>>>response of the webservice and read the '2a6'... I think that it could
>>>>be a problem of encoding...
>>>The 2a6 and 0 is for the chunked encoding.
>>>Does Axis C++ client code support chunked encoding?  If not,
>>>try turning chunked encoding off at the service.

View raw message