axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mansart Jean-sebastien <jean-sebastien.mans...@etu.univ-savoie.fr>
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 */
#else 
    /* 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 */
#endif
.....

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 
>CVS).
>
>
>
>
>
>
>
>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:
>>>      
>>>
>>>>Hello
>>>>
>>>>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...
>>>>Aborted
>>>>
>>>>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
>>>>Host: 127.0.0.1
>>>>Content-Type: text/xml; charset=UTF-8
>>>>SOAPAction: "base#echoString"
>>>>Content-Length: 396
>>>>
>>>><?xml version='1.0' encoding='utf-8' ?>
>>>><SOAP-ENV:Envelope
>>>>xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>>>>xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>>>><SOAP-ENV:Body>
>>>> <ns1:echoString xmlns:ns1="http://soapinterop.org/">
>>>>  <inputString xsi:type="xsd:string">hello world</inputString>
>>>> </ns1:echoString>
>>>></SOAP-ENV:Body>
>>>></SOAP-ENV:Envelope>
>>>>
>>>>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
>>>>
>>>>2a6
>>>><?xml version="1.0" encoding="UTF-8"?>
>>>><soapenv:Envelope
>>>>xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>>>>xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>>>><soapenv:Header>
>>>><ns1:echoMeStringResponse soapenv:mustUnderstand="0"
>>>>xsi:type="xsd:string"
>>>>xmlns:ns1="http://soapinterop.org/echoheader/">header
>>>>text</ns1:echoMeStringResponse>
>>>></soapenv:Header>
>>>><soapenv:Body>
>>>><ns2:echoStringResponse
>>>>soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>>>>xmlns:ns2="http://soapinterop.org/">
>>>> <return xsi:type="xsd:string">hello world</return>
>>>></ns2:echoStringResponse>
>>>></soapenv:Body>
>>>></soapenv:Envelope>
>>>>0
>>>>
>>>>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
the
>>>>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.
>>>      
>>>
>
>  
>


Mime
View raw message