OK, can you try a nightly build then pls to check that this is fixed. If it's not can you please raise a JIRA.




Primoz Führer <[EMAIL PROTECTED]>

18/01/2006 11:47

Please respond to
"Apache AXIS C User List" <[email protected]>

To
"Apache AXIS C User List" <[email protected]>
cc
Subject
Re: AXIS httppost





i'm using axis-c-1-5-win32 binary.
----- Original Message -----
From: John Hawkins
To: Apache AXIS C User List
Sent: Wednesday, January 18, 2006 12:40 PM
Subject: Re: AXIS httppost


What version of the code are you using ?
We used to have issues with the content length in 1.5 but these have been fixed in the latest code - If you're not already can you try a nightly drop ->http://ws.apache.org/axis/interim.html




Primož Führer <[EMAIL PROTECTED]>

18/01/2006 11:07

Please respond to
"Apache AXIS C User List" <[email protected]>


To
<[email protected]>
cc
Subject
AXIS httppost







Hi,

I'm using web services on tomcat. As client i use Visual studio 6.0 c++ with axis client stubs.

With wsdl2ws i generate client stubs from wsdl. When i tried out some simple web services which are published on Internet, work vs c++ with axis client stubs OK(RPc style). but when i tried to use web services on tomcat(complex types), the program gave exception in generated stub in line ...invoke() web service...

i looked with tcpmon and find out that in httppost header a parameter "Content-Length:" is set to a number which is smaller than the actual length of the envelope. so if i set this number from let's say 350 to 356 and in tcpmon clik send to server, i get the correct answer else not.
In ultra edit i see that some spaces are added at the end of lines in envelope.

i'd like to know why the spaces are added in envelope or why ,when the content-length is calculated,is set wrong length in header?

yes and where code is actually generated header and envelope, so i could see what's wrong. Thanks for reply....

 

Post:

 

POST /idoc/services/Prijava HTTP/1.1

 

Host: 192.168.0.210:8070

 

Content-Type: text/xml; charset=UTF-8

 

SOAPAction: ""

 

Content-Length: 462

 
 
 

<?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:checkLogin xmlns:ns1="
http://192.168.0.210:8070/idoc/services/Prijava">
<username xsi:type="xsd:string">primozf</username>
<pswd xsi:type="xsd:string">primozf</pswd>
</ns1:checkLogin>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

 
 

Response:

 

HTTP/1.1 500 Internal Server Error

 

Content-Type: text/xml; charset=utf-8

 

Transfer-Encoding: chunked

 

Date: Wed, 18 Jan 2006 11:02:53 GMT

 

Server: Apache Coyote/1.0

 

Connection: close

 
 
 

202

 

<?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:Body><soapenv:Fault><faultcode>soapenv:Server.userException</faultcode><faultstring>org.xml.sax.SAXParseException: Premature end of file.</faultstring><detail><ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">lexus</ns1:hostname></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>
 

0

So if i replace Content-Length: 462 with Content-Length: 468 or put lines in envelope in one line:

 
HTTP/1.1 200 OK

 
Content-Type: text/xml; charset=utf-8

 
Transfer-Encoding: chunked

 
Date: Wed, 18 Jan 2006 11:04:23 GMT

 
Server: Apache Coyote/1.0

 
 
 
3ab

 
<?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:Body><ns1:checkLoginResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://192.168.0.210:8070/idoc/services/Prijava"><checkLoginReturn xsi:type="ns2:UserPrijava" xmlns:ns2="urn:Prijava"><idInstalacije xsi:type="soapenc:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">0</idInstalacije><idUsr xsi:type="soapenc:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">30</idUsr><jezik xsi:type="soapenc:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">1</jezik><shema xsi:type="soapenc:string" xsi:nil="true" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/></checkLoginReturn></ns1:checkLoginResponse></soapenv:Body></soapenv:Envelope>
 
0

 
 
WSDL:

 
 
 
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="
http://192.168.0.210:8070/idoc/services/Prijava" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://192.168.0.210:8070/idoc/services/Prijava" xmlns:intf="http://192.168.0.210:8070/idoc/services/Prijava" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="urn:Prijava" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.3
Built on Oct 05, 2005 (05:23:37 EDT)-->
<wsdl:types>
<schema targetNamespace="urn:Prijava" xmlns="
http://www.w3.org/2001/XMLSchema">
 <import namespace="
http://schemas.xmlsoap.org/soap/encoding/"/>
 <complexType name="UserPrijava">
  <sequence>
   <element name="idInstalacije" nillable="true" type="soapenc:int"/>
   <element name="idUsr" nillable="true" type="soapenc:int"/>
   <element name="jezik" nillable="true" type="soapenc:int"/>
   <element name="shema" nillable="true" type="soapenc:string"/>
  </sequence>
 </complexType>
</schema>
</wsdl:types>

 
  <wsdl:message name="checkLoginResponse">

 
     <wsdl:part name="checkLoginReturn" type="tns1:UserPrijava"/>

 
  </wsdl:message>

 
  <wsdl:message name="checkLoginRequest">

 
     <wsdl:part name="username" type="soapenc:string"/>

 
     <wsdl:part name="pswd" type="soapenc:string"/>

 
  </wsdl:message>

 
  <wsdl:portType name="Prijava">

 
     <wsdl:operation name="checkLogin" parameterOrder="username pswd">

 
        <wsdl:input message="impl:checkLoginRequest" name="checkLoginRequest"/>

 
        <wsdl:output message="impl:checkLoginResponse" name="checkLoginResponse"/>

 
     </wsdl:operation>

 
  </wsdl:portType>

 
  <wsdl:binding name="PrijavaSoapBinding" type="impl:Prijava">

 
     <wsdlsoap:binding style="rpc" transport="
http://schemas.xmlsoap.org/soap/http"/>
 
     <wsdl:operation name="checkLogin">

 
        <wsdlsoap:operation soapAction=""/>

 
        <wsdl:input name="checkLoginRequest">

 
           <wsdlsoap:body encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" namespace="http://axis.idoc.irose.si" use="encoded"/>
 
        </wsdl:input>

 
        <wsdl:output name="checkLoginResponse">

 
           <wsdlsoap:body encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" namespace="http://192.168.0.210:8070/idoc/services/Prijava" use="encoded"/>
 
        </wsdl:output>

 
     </wsdl:operation>

 
  </wsdl:binding>

 
  <wsdl:service name="PrijavaService">

 
     <wsdl:port binding="impl:PrijavaSoapBinding" name="Prijava">

 
        <wsdlsoap:address location="
http://192.168.0.210:8070/idoc/services/Prijava"/>
 
     </wsdl:port>

 
  </wsdl:service>

 
</wsdl:definitions>

 
 
 

Reply via email to