axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <maurizio.na...@stfc.ac.uk>
Subject RE: Axis2 Response trunked
Date Tue, 03 May 2011 08:18:45 GMT
Hi Josef,

Sorry for the late reply but yesterday here was holidays.
Some info
Server: JBoss5.1 + Axis (1.5) + Suse (11.x)
Client: I made tests both with Poster (an HTTP plug-in for Firefox) and oXigen (an XML editor)
WSDL SOAP analyzer. I even made a Java client generated by the AXIS wsdl2code script (I just
added the generateClientSide option in the org.apache.axis2: axis2-wsdl2code-maven-plugin
I use to generate the server side code) setting the HTTP1.1 truncated option to false. The
real production client is a python-based and it performs like the previous three clients.

On the request I do not have any exception (at least at the ERROR level) and, as I wrote,
debugging the code, the server correctly generates the response until the skeleton class.
To go further into I should download the AXIS2 source and see what happen inside which I will
do it if no other solution appear.

I have not used any HTTP monitor but I strongly guess that the data are truncated at the Server
side because

1)      any client I used returns me the same truncated response.

2)      The transmitted message is not really trunked: just an element inside the message
is trunked and because the client receive an XML, that is the client does not marshal/unmarshall
nothing, the server should be guilty for such manipulation of the data.

I even tried to update Axis2 to the available last version but the problem remained.

I read that for large document should be worth to send it as an "attachment" but this would
change the actual architecture which I would like not to touch (the real client is implemented
by a third party). If not other solution will appear probably I will refactor the actual server
to a full EJB3 web service (this Axis2 service is something which comes from a previous implementation.
I already run other EJBs and that's also why Axis2 is deployed into JBoss and not into Tomcat).

Thanks for sharing your experience! I hope we will find some solution sooner or later.
Maurizio

From: Stadelmann Josef [mailto:josef.stadelmann@axa-winterthur.ch]
Sent: 02 May 2011 09:48
To: java-user@axis.apache.org
Subject: AW: Axis2 Response trunked

Hi,
I was running into very similar issues once. Not with CDATA but just with long soap xml messages.

But first, it would be nice if you can give us a bit more insight into your configuration
,OS, Frameworks used, Axis2 version, and if your client is in example a MS WCF 3.5 web service
client or what? Such details are important if one should be able to help you. Isn't it? Then
we like to know about exceptions raised. Where? At service or at client? Or no exception but
just truncations? And if truncation where does it occur. For that you may want to switch a
TCP Monitor between client and server and see if the all CDATA is put onto wire and then gets
truncated at the client or if the service is unable to send all CDATA to the wire, hence what
you see at the client is caused by the service.

In short is it the client or the service which is responsible for truncation?

Why do I address MS WCF 3.5 Client? Because once you successfully transmit your XML SOAP between
an Axis2 Server and a MS WCF Client (99% fine) you will find that it happens sooner the later
what you describe. As soon as your xml stream approaches 65536 bytes, about 20 bytes before
that limit is reached, your MS WCF Client comes up with an error message stating that the
message is too large. But itself, the MS WCF Client, has absolute no concerns to send to the
web service documents very much larger than 65536 bytes. :) you get the point.

Then you start reading at why MS WCF 3.5 clients behaves like that, and you will find somewhere
at MS WCF Forums the "lapidary" information that WCF has not been developed to transmit such
large messages. And then you start thinking about transmitting in Junks, about taking other
formats into consideration like MTOM é all for various reasons.

I know this is not the solution to your problem, but may be the path to go.
Josef



Von: maurizio.nagni@stfc.ac.uk [mailto:maurizio.nagni@stfc.ac.uk]
Gesendet: Donnerstag, 28. April 2011 16:05
An: java-user@axis.apache.org
Betreff: Axis2 Response trunked

Hello,

My axis2 WS is working 99% perfectly. Anyway when I want to return a quite long XML document
as CDATA the response document is mysteriously truncated just in the middle of some word.
That is, something that should be

<soapsomething>
<myTag>
<!CDATA[myXMLDocument]]>
</myTag>
<soapsomething>

On the client became

<soapsomething>
<myTag>
<!CDATA[myXMLDoc
</myTag>
<soapsomething>

What mostly intrigue me is that such situation happen only for some XML documents!
To be more specific I create both the WSDL and the classes through a MAVEN plugin so I just
add the document as String to the Java response object created by axis, that is, I do not
manipulate the XML but just the java object. In this way I can see that the document is correctly
added to the response (the XML document is all and correctly into the CDATA), then it enters
the AXIS internal code and then the client receives such truncated response.

I am using AXIS2 (1.5) running into JBoss

Thanks
Maurizio


--
Scanned by iCritical.


-- 
Scanned by iCritical.


Mime
View raw message