axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lamkhede, Sudarshan (Cognizant)" <LSudars...@pun.cognizant.com>
Subject Axis and iPlanet
Date Tue, 27 May 2003 10:21:46 GMT
 
Hi Everybody,
 
 I'm stuck up with a nasty problem and it's been over 3 days and I haven't been able to find
any solution to this. Here is the problem in detail.
 
We have deployed a WebService using Axis on IBM WebSphere Application Server Ver 4.0. WebSphere
does not handle the requests from the clients directly. The requests are routed through Iplanet
WebServer 4.1 to WebSphere. I've developed a standalone client which connects to the WebService
through the Iplanet Server. Now, when I hit the WebService at the Appserver's 9080 port by
specifying the appropriate URL in the client, the service runs perfectly.
 
However, here is the bad part, When I try to hit the Webservice through the Iplanet Web Server
on port 80, the client request reaches the App Server through the Iplanet but the response
which we get from the server is this:
 
"org.xml.sax.SAXParseException: The root element is required in a well-formed document"
 
At first I had no clue why this was coming, but after a lot of digging in I sniffed the traffic
between the Client and Iplanet through tcpmon to find that the entire HTTP request was going
correctly. However, when I sniffed the traffic between the Iplanet and the Appserver, surprisingly
only the header part of the HTTP+SOAP request was passing through to the server due to which
obviously the server was throwing the above mentioned exception as it was not getting the
XML part of the HTTP request.
 
Here is the header routed by the Iplanet server to the App Server :
 
POST /wsdisability/servlet/AxisServlet HTTP/1.1
content-type: text/xml; charset=utf-8
accept: application/soap+xml, application/dime, multipart/related, text/*
user-agent: Axis/1.0
host: cq7092
cache-control: no-cache
pragma: no-cache
soapaction: \
\"" content-length: 757
$WSIS: false
$WSSC: http
$WSPR: HTTP/1.0
$WSRA: 10.236.135.190
$WSRH: 10.236.135.190
$WSSN: cq7092
$WSSP: 80
 
 
If you closely examine the header you will find that it contains the standard HTTP header
and some WebSphere Specific parameters which are added by the routing plugin, however, the
XML we-service request is missing. This is the exact root cause of the problem.
 
I've tried all this till now,
1) Increased the size of the Iplanet RcvBuffer , Senduffer socket level parameters. I thought
that the request was quite huge so may be the WebServer is not able to allocate appropriate
memory. This did'nt work.
 
2) I also deployed a Web Client on the Iplanet Web Server itself to check whether a Web Client
and a Standalone client would make any difference but no luck.
 
3) I also tried to tweak some Iplanet routing plug-in parameters. But plug-in hasn't got many
configurable parameters as such. So no luck on this side too.
 
What could be the possible cause of the problem? Apparently it seems that the problem lies
with the way Iplanet is doing the routing, it doesn't send the XML request. But I've searched
all the bug lists, google groups for any such bugs in the plug-in. But such bug hasn't been
reported as of now at least. 
 
Can it be something to do with Axis? The way it is sending requests? Seems quite unlikely
but still I am doubting it.
 
Guys, any ideas, suggestions or pointers or anything related to this would be of great help
to me as I'm now running out of ideas after 3 days of struggle. I've tried to explain the
nature of the problem quite in detail so I hope you get the exact picture of the problem I'm
facing. 
 
 

Mime
View raw message