You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Stadelmann Josef <jo...@axa-winterthur.ch> on 2010/06/24 15:46:17 UTC

AXIS2/J or WCF Client negotiating for CHUNKS

Hi all,

I have axis2-1.2/Java and and use the axis/C routines from axiom and
axutil as well as zlib and libxml2, on OpenVMS; Alos we use MS VS2008TS
and .NET 3.5 WCF code.

The problem I am faced with has to do with the maximum amount of bytes a
WCF 3.5 .NET client can transfer to an AXIS2/J web service.

When the data is at the server we write the xml stream after passing the
JVM (JNI) into a C wrapper into a log file for debugging purpose; 

Until a few days ago I was confident that the maxim size a WCF client
can transfer to a AXIS2/J server, or an axis2/J server can pass through
the JVM into some JNI routines is around 65536 bytes.

But today I learned that, under not yet understood circumstances,
occasionally larger transfers take place and the resulting file on VMS
(512bytes/block) equivalent  91648 bytes; 

My VMS directory is mapped using CSWS (Compaq Secure Web Server) and via
WEBdav I catch done this xml files into an Internet Explorer; 
Occasionally IE is unhappy and finds that in the file certain toward the
end of the stream are not closed.
That's when I have a problem in my server;

Also the /dkb3/apache/logs directory is mapped to local disk blocks at
C:\VMS-Disks\apache\logs using NetBeans 5.5.1 and distributed NetBeans
from HP.
The nice thing is that I can check each mapped xml file for well form
and validating it as well.

(part of server log generated by AXIS2/C wrapper routines) 

FILENAME: dkb3:[apache.logs]payload_27.xml
[Thu Jun 24 14:05:25 2010] [debug]
DKB3:[SW-PROJEKTE.SPEZSRVW.axawl.spezpla.servers.SPgServer]SPg-legacy.c;
57(1414) axawl_deserialize_input_payload() ....  2

[Thu Jun 24 14:05:25 2010] [error]
DKB3:[SW-PROJEKTE.webservices.axis2.trunk.c.axiom.src.parser]libxml2_rea
der_wrapper.c;36(886) Extra content at the end of the document --
SEVERITY_ERROR (maybe this is just a space char as found yesterday.)

[Thu Jun 24 14:05:25 2010] [error]
DKB3:[SW-PROJEKTE.webservices.axis2.trunk.c.axiom.src.parser]libxml2_rea
der_wrapper.c;36(427)  error occured in reading xml stream

My problem:
Can somebody tell me under which circumstances AXIS2/J or the WCF Client
starts negotiating for CHUNKS to send larger streams (191*512
disk-blocks) in smaller chunks?

Recently I had the effect that when I am nearing the 65536 boundary the
WCF Client starts claiming that the maximum size is reached. Otherwise I
can prove today that if the WCF client can send more data, it may go
into a chunk mode and send up to 91648 bytes error free (this was
observed today at the server, even after passing the JVM into my legacy
C wrapper, we got this amount of bytes, and we send it to a
payload_nnn.xml file for inspection/debugging.

How do I control that at the AXIS2/J server and maybe one of you knows
it at the WCF 3.5 .NET client side.

Josef