XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Redha BSubject: Web Service Call with Axis: No HTTP Content-Length causing Server error
Author: Redha B
Date: 21 Feb 2008 01:29 PM
Doing a Web Call using Axis as a client, generates error with some Web server (in my case CICS 3.1 Web Server). The same call with a scenario using .NET works. Using TCPMon, I found out the HTTP content-length was missing.

TCPMon Axis Trace:
Request:
--------
POST /CICS/CWBA/CSCWKI2X/FLIGHTWX HTTP/1.1
Content-Type: text/xml; charset=utf-8
SOAPAction: "FLIGHTWS"
User-Agent: Axis/1.4
Host: mkt.neonsys.com:9999
Transfer-Encoding: chunked

1b0
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><wsdlns:FLIGHTWSRequest xmlns:wsdlns="com.datadirect/FLIGHTWS"><wsdlns:Flightid><wsdlns:Flightid_flightnumber>110</wsdlns:Flightid_flightnumber><wsdlns:Flightid_companyname>AA</wsdlns:Flightid_companyname><wsdlns:Filler4/></wsdlns:Flightid></wsdlns:FLIGHTWSRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
0

Response:
---------
HTTP/1.0 411 length required
Content-Type: text/html
Content-Length: 0
Server: IBM_CICS_Transaction_Server/3.1.0(zOS)
Date: Thu, 21 Feb 2008 17:57:26 GMT


The same call with .NET:
Request:
--------
POST /CICS/CWBA/CSCWKI2X/FLIGHTWX HTTP/1.1
SOAPAction: "FLIGHTWS"
User-Agent: Stylus Studio Web Service Client
Content-Type: text/xml
Host: mkt.neonsys.com:9999
Content-Length: 483
Expect: 100-continue
Connection: Keep-Alive

<?xml version="1.0" encoding="UTF-8" standalone="no" ?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<wsdlns:FLIGHTWSRequest xmlns:wsdlns="com.datadirect/FLIGHTWS">
<wsdlns:Flightid>
<wsdlns:Flightid_flightnumber>110</wsdlns:Flightid_flightnumber>
<wsdlns:Flightid_companyname>AA</wsdlns:Flightid_companyname>
<wsdlns:Filler4/>
</wsdlns:Flightid>
</wsdlns:FLIGHTWSRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Response:
---------
HTTP/1.1 100 Continue

HTTP/1.0 200 OK
Content-Type: text/xml; charset=iso-8859-1
Content-Length: 840
Connection: Keep-Alive
Server: IBM_CICS_Transaction_Server/3.1.0(zOS)
Date: Thu, 21 Feb 2008 17:58:27 GMT

<?xml version="1.0" encoding="ISO-8859-1"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><FLIGHTWSResponse xmlns="com.datadirect/FLIGHTWS"><Flightdetail><Flightnumber>110</Flightnumber><Companyname>AA</Companyname><Origincity>CDG</Origincity><Destinationcity>JFK</Destinationcity><ArrayOfFrequency><Frequency>0</Frequency><Frequency>0</Frequency><Frequency>0</Frequency><Frequency>0</Frequency><Frequency>0</Frequency><Frequency>0</Frequency><Frequency>0</Frequency></ArrayOfFrequency><Fare>350.00</Fare><Aircraft>AIRBUS A-310</Aircraft><Departuretime><Departuretime_hh>15</Departuretime_hh><Departuretime_mn>15</Departuretime_mn></Departuretime><Arrivaltime><Arrivaltime_hh>16</Arrivaltime_hh><Arrivaltime_mn>16</Arrivaltime_mn></Arrivaltime></Flightdetail></FLIGHTWSResponse></soap:Body></soap:Envelope>


Thanks,

Redha


DocumentFLIGHTWS.wsdl
WSDL

Postnext
Ivan PedruzziSubject: Web Service Call with Axis: No HTTP Content-Length causing Server error
Author: Ivan Pedruzzi
Date: 21 Feb 2008 03:07 PM
Hi Redha,

The reason why you are getting error with Axis is because your web server does not support chunked transfer encoding that is the default on Axis 1.4.

In the next update (Stylus Studio and DataDirect XQuery) you will be able to configure the HTTP version to 1.0 and therefore turn off this feature.

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Posttop
Redha BSubject: Web Service Call with Axis: No HTTP Content-Length causing Server error
Author: Redha B
Date: 21 Feb 2008 06:35 PM
Thanks Ivan.
I did some research on this and it seems that it's a limitation of the CICS 3.1 Web Sever; the header Content-Length is mandatory for HTTP/1.1 even with the header "Transfer-Encoding: chunked"; contrary to the HTTP spec:

"CICS requires the Content-Length header on all inbound HTTP/1.1 messages that have a message body. If a message body is present but the header is not provided, or its value is inaccurate, the socket receive for the faulty message or for a subsequent message can produce unpredictable results. For HTTP/1.0 messages that have a message body, the Content-Length header is optional."
http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp?topic=/com.ibm.cics.ts31.doc/dfhtl/topics/dfhtl_headerref.htm

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.