Thanks Josef,

The TCP Monitor helped but I can't solve this problem yet.

I changed my WCF operation from

[OperationContract]
byte[] GetAudioFor(string text, string language, string format);

to

[OperationContract]
FileResponse TextToSpeech(TTSRequest ttsRequest);

[MessageContract]
    public class FileResponse
    {
        [MessageBodyMember]
        public string Filename { get; set; }

        [MessageBodyMember]
        public byte[] Content { get; set; }

        [MessageBodyMember]
        public int Length { get; set; }
    }

    [MessageContract]
    public class TTSRequest
    {
        [MessageBodyMember]
        public string Text { get; set; }

        [MessageBodyMember]
        public string Language { get; set; }

        [MessageBodyMember]
        public string Format { get; set; }
    }

However now, it happens something very strange, without tcpmon, using
the endpoint address:

http://192.168.11.83/TTSService/TTSService.svc

the response doesn't arrive with file content (the same problem), but
using tcpmon (-tp 80 -th 192.168.11.83) changing only the endpoint
address to

http://localhost:9099/TTSService/TTSService.svc

It works! ¿?

Any clue?

Regards,
Naldo

On Wed, Sep 7, 2011 at 2:43 AM, Stadelmann Josef
<josef.stadelm...@axa-winterthur.ch> wrote:
> Is the message > 20kBytes properly placed to the wire by the WCF service?
> Can you check this by a TCP Monitor or a Wireshark Network Monitor? Just to
> know that all is on the wire and that in fact the axis2 client is the bad
> boy.
>
>
>
> You need to know that WCF Services do very likely send more than 65536
> bytes, but they are claiming if you intend to send them close to 65536
> bytes.
>
> (After we where nearly close to project end we found out that Microsoft said
> somewhere in the forums that WCF is not made for large messages. Thank you
> MS. A service (without MTOM) starts claiming if you are nearing the 65536
> byte boundary.  Just to be warned. Also UTF and SOAP-XML has considerable
> overhead !!!
>
>
>
> The next you need to care about is what type of pointers to strings or
> buffers you are using passing data-strings to Axiom/C routines.
>
>
>
> If you use 16 bit sized pointers somewhere then you can expect problems too;
> (we just had problems to pass long strings through the JNI from JAVA (WS)
> forward to a C Wrapper via IPC/JNI)  then back the same way to a WCF Client.
> The message left the WCF client well over 65536 bytes sometimes 96xxx or
> more. But was then almost cut somewhere on the way to the axiom routines in
> the C-wrapper. And the reason was that we have use somewhere after the JNI
> in a wrapper 16 but sized pointers to strings.  The problem was fixed with
> 32bit or 64bit sized pointers.
>
>
>
> Josef
>
>
>
> Von: Naldo Alcalde [mailto:nalca...@gmail.com]
> Gesendet: Dienstag, 6. September 2011 15:31
> An: c-user@axis.apache.org
> Betreff: Error in client receiving files with size > 20K
>
>
>
> Hello,
>
>
>
> I developed an Axis2 1.6 client consuming a WCF service. It works ok
> (without MTOM) receiving small binary files, but when the file size
> increments to more than 20K, it receives a NULL content node with the same
> function axis2_svc_client_send_receive.
>
>
>
> Is there some parameter/option to configure to increment this size? Or
> another solution?
>
>
>
> Please help me with that and thanks a lot in advance.
>
>
>
> Regards,
>
> Naldo Alcalde
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: c-user-unsubscr...@axis.apache.org
For additional commands, e-mail: c-user-h...@axis.apache.org

Reply via email to