You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Andrew Perry (JIRA)" <ax...@ws.apache.org> on 2004/11/17 14:33:23 UTC

[jira] Created: (AXISCPP-269) calling a service which returns a large string fails to get full message

calling a service which returns a large string fails to get full message
------------------------------------------------------------------------

         Key: AXISCPP-269
         URL: http://nagoya.apache.org/jira/browse/AXISCPP-269
     Project: Axis-C++
        Type: Bug
    Reporter: Andrew Perry


One of the standard tests, LargeReturningString which sends an int to a service indicating the size of the string to return fails to return the full string to the client. I am requesting a 2Mb (1024*1024*2) string to be returned and the client only receives a 2089768 (this is not consistant) byte string, as reported by strlen, rather than the expected 2097152 byte string.

The service is running on IBM WebSphere which returns a chucked message in 8K chunks. The monitor program in ws-axis/c/tests/utils/monitor captures the message on the wire and writes it to a file, and this message is correct, so it's definitely a problem in the AxisClient code.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXISCPP-269) calling a service which returns a large string fails to get full message

Posted by "Samisa Abeysinghe (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXISCPP-269?page=comments#action_55819 ]
     
Samisa Abeysinghe commented on AXISCPP-269:
-------------------------------------------

Andrew,
    I could re-create the problem with the information you had provided.
    
    I experianced the same problem when I reached 4MB with the LargeReturningString sample. 

    Found a problem in transport, in the logic used to read multiple chunks; and fixed it.
    Now LargeReturningString is working for me with 4194304 size and Axis Java server without problems.

    Please check if it is working for you as well.

> calling a service which returns a large string fails to get full message
> ------------------------------------------------------------------------
>
>          Key: AXISCPP-269
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-269
>      Project: Axis-C++
>         Type: Bug
>   Components: Transport (axis2)
>     Reporter: Andrew Perry
>     Assignee: Samisa Abeysinghe

>
> One of the standard tests, LargeReturningString which sends an int to a service indicating the size of the string to return fails to return the full string to the client. I am requesting a 2Mb (1024*1024*2) string to be returned and the client only receives a 2089768 (this is not consistant) byte string, as reported by strlen, rather than the expected 2097152 byte string.
> The service is running on IBM WebSphere which returns a chucked message in 8K chunks. The monitor program in ws-axis/c/tests/utils/monitor captures the message on the wire and writes it to a file, and this message is correct, so it's definitely a problem in the AxisClient code.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXISCPP-269) calling a service which returns a large string fails to get full message

Posted by "Andrew Perry (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXISCPP-269?page=comments#action_55730 ]
     
Andrew Perry commented on AXISCPP-269:
--------------------------------------

Samisa,

The WSDL is one of the standard auto_build/testcases/wsdls wsdls, LargeReturningString.wsdl

The source for the service is:

package org.apache.test.largereturningstring;

public class LargeReturningStringSoapBindingImpl implements org.apache.test.largereturningstring.LargeReturningString {
    public java.lang.String getLargeString(int size) throws java.rmi.RemoteException {
      char[] charBuf = new char[size];
      int charToAdd = 'a';
      // create a string with a repeating sequence of the alphabet
      for(int i=0; i<size; i++) {
         charBuf[i]=(char)charToAdd++;
         if(charToAdd > 'z') { charToAdd='a'; }
      }
      return new String(charBuf);
    }
}


> calling a service which returns a large string fails to get full message
> ------------------------------------------------------------------------
>
>          Key: AXISCPP-269
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-269
>      Project: Axis-C++
>         Type: Bug
>   Components: Transport (axis2)
>     Reporter: Andrew Perry

>
> One of the standard tests, LargeReturningString which sends an int to a service indicating the size of the string to return fails to return the full string to the client. I am requesting a 2Mb (1024*1024*2) string to be returned and the client only receives a 2089768 (this is not consistant) byte string, as reported by strlen, rather than the expected 2097152 byte string.
> The service is running on IBM WebSphere which returns a chucked message in 8K chunks. The monitor program in ws-axis/c/tests/utils/monitor captures the message on the wire and writes it to a file, and this message is correct, so it's definitely a problem in the AxisClient code.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Resolved: (AXISCPP-269) calling a service which returns a large string fails to get full message

Posted by "Andrew Perry (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXISCPP-269?page=history ]
     
Andrew Perry resolved AXISCPP-269:
----------------------------------

    Resolution: Fixed

Thank you Samisa.
I have tried with 4,5,6 Mb in .5Mb increments and all seems to work correctly.

> calling a service which returns a large string fails to get full message
> ------------------------------------------------------------------------
>
>          Key: AXISCPP-269
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-269
>      Project: Axis-C++
>         Type: Bug
>   Components: Transport (axis2)
>     Reporter: Andrew Perry
>     Assignee: Samisa Abeysinghe

>
> One of the standard tests, LargeReturningString which sends an int to a service indicating the size of the string to return fails to return the full string to the client. I am requesting a 2Mb (1024*1024*2) string to be returned and the client only receives a 2089768 (this is not consistant) byte string, as reported by strlen, rather than the expected 2097152 byte string.
> The service is running on IBM WebSphere which returns a chucked message in 8K chunks. The monitor program in ws-axis/c/tests/utils/monitor captures the message on the wire and writes it to a file, and this message is correct, so it's definitely a problem in the AxisClient code.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Assigned: (AXISCPP-269) calling a service which returns a large string fails to get full message

Posted by "Samisa Abeysinghe (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXISCPP-269?page=history ]

Samisa Abeysinghe reassigned AXISCPP-269:
-----------------------------------------

    Assign To: Samisa Abeysinghe

> calling a service which returns a large string fails to get full message
> ------------------------------------------------------------------------
>
>          Key: AXISCPP-269
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-269
>      Project: Axis-C++
>         Type: Bug
>   Components: Transport (axis2)
>     Reporter: Andrew Perry
>     Assignee: Samisa Abeysinghe

>
> One of the standard tests, LargeReturningString which sends an int to a service indicating the size of the string to return fails to return the full string to the client. I am requesting a 2Mb (1024*1024*2) string to be returned and the client only receives a 2089768 (this is not consistant) byte string, as reported by strlen, rather than the expected 2097152 byte string.
> The service is running on IBM WebSphere which returns a chucked message in 8K chunks. The monitor program in ws-axis/c/tests/utils/monitor captures the message on the wire and writes it to a file, and this message is correct, so it's definitely a problem in the AxisClient code.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Updated: (AXISCPP-269) calling a service which returns a large string fails to get full message

Posted by "Samisa Abeysinghe (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXISCPP-269?page=history ]

Samisa Abeysinghe updated AXISCPP-269:
--------------------------------------

    Component: Transport (axis2)

> calling a service which returns a large string fails to get full message
> ------------------------------------------------------------------------
>
>          Key: AXISCPP-269
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-269
>      Project: Axis-C++
>         Type: Bug
>   Components: Transport (axis2)
>     Reporter: Andrew Perry

>
> One of the standard tests, LargeReturningString which sends an int to a service indicating the size of the string to return fails to return the full string to the client. I am requesting a 2Mb (1024*1024*2) string to be returned and the client only receives a 2089768 (this is not consistant) byte string, as reported by strlen, rather than the expected 2097152 byte string.
> The service is running on IBM WebSphere which returns a chucked message in 8K chunks. The monitor program in ws-axis/c/tests/utils/monitor captures the message on the wire and writes it to a file, and this message is correct, so it's definitely a problem in the AxisClient code.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXISCPP-269) calling a service which returns a large string fails to get full message

Posted by "Andrew Perry (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXISCPP-269?page=comments#action_55729 ]
     
Andrew Perry commented on AXISCPP-269:
--------------------------------------

Hi Andrew,
    You have not mentioned anything reltaed to timeout: so I guess you have not set any timeout.
  
    If that is the case, the problems seems to be with the transport. May be it ends reading prematurely. The problem would also be in the deserializer, where it fails to work till it finds the end of the string.
    I was not using -g with my client for echo sample. Hence echo works for me on Linux without debug flag.
   If possible please send the WSDL of your service, so that I could try the same service. 
 
Thanks,
Samisa...


Samisa,

There is no exception or error, the string gets returned to the client, it
is just not the correct length. It is also not consistant how many bytes
get lost and sometimes it works. Strangely it always seems to work when the
code is compiled with debugging, on Linux at least (-g flag).

Also my service is slightly different in that it does not echo a string,
but requests a string of a certain size, i.e. send an int and return a
string.


> calling a service which returns a large string fails to get full message
> ------------------------------------------------------------------------
>
>          Key: AXISCPP-269
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-269
>      Project: Axis-C++
>         Type: Bug
>   Components: Transport (axis2)
>     Reporter: Andrew Perry

>
> One of the standard tests, LargeReturningString which sends an int to a service indicating the size of the string to return fails to return the full string to the client. I am requesting a 2Mb (1024*1024*2) string to be returned and the client only receives a 2089768 (this is not consistant) byte string, as reported by strlen, rather than the expected 2097152 byte string.
> The service is running on IBM WebSphere which returns a chucked message in 8K chunks. The monitor program in ws-axis/c/tests/utils/monitor captures the message on the wire and writes it to a file, and this message is correct, so it's definitely a problem in the AxisClient code.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Closed: (AXISCPP-269) calling a service which returns a large string fails to get full message

Posted by "Samisa Abeysinghe (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXISCPP-269?page=history ]
     
Samisa Abeysinghe closed AXISCPP-269:
-------------------------------------


> calling a service which returns a large string fails to get full message
> ------------------------------------------------------------------------
>
>          Key: AXISCPP-269
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-269
>      Project: Axis-C++
>         Type: Bug
>   Components: Transport (axis2)
>     Reporter: Andrew Perry
>     Assignee: Samisa Abeysinghe

>
> One of the standard tests, LargeReturningString which sends an int to a service indicating the size of the string to return fails to return the full string to the client. I am requesting a 2Mb (1024*1024*2) string to be returned and the client only receives a 2089768 (this is not consistant) byte string, as reported by strlen, rather than the expected 2097152 byte string.
> The service is running on IBM WebSphere which returns a chucked message in 8K chunks. The monitor program in ws-axis/c/tests/utils/monitor captures the message on the wire and writes it to a file, and this message is correct, so it's definitely a problem in the AxisClient code.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


Re: [jira] Commented: (AXISCPP-269) calling a service which returns a large string fails to get full message

Posted by Samisa Abeysinghe <sa...@yahoo.com>.
Hi Andrew,
    You have not mentioned anything reltaed to timeout: so I guess you have not set any timeout.
  
    If that is the case, the problems seems to be with the transport. May be it ends reading prematurely. The problem would also be in the deserializer, where it fails to work till it finds the end of the string.
    I was not using -g with my client for echo sample. Hence echo works for me on Linux without debug flag.
   If possible please send the WSDL of your service, so that I could try the same service. 
 
Thanks,
Samisa...

Andrew Perry2 <PE...@uk.ibm.com> wrote:




Jira seems to be down at present so I'll comment here and update later.

There is no exception or error, the string gets returned to the client, it
is just not the correct length. It is also not consistant how many bytes
get lost and sometimes it works. Strangely it always seems to work when the
code is compiled with debugging, on Linux at least (-g flag).

Also my service is slightly different in that it does not echo a string,
but requests a string of a certain size, i.e. send an int and return a
string.

Regards

Andrew Perry
Clients for Web Service Stack
perryan@uk.ibm.com
Mail Point 127
IBM UK Laboratories. Hursley Park, Winchester, Hants. SO21 2JN
Tel. Internal 249828 External + 44 (0)1962 819828
Fax. + 44(0)1962 818080

"Samisa Abeysinghe (JIRA)" wrote on 19/11/2004
09:13:30:

> [ http://nagoya.apache.org/jira/browse/AXISCPP-269?
> page=comments#action_55663 ]
>
> Samisa Abeysinghe commented on AXISCPP-269:
> -------------------------------------------
>
> 1. What is the excat error/exception that you get?
> 2. Do you have a timeout set in the client?
>
> I used tests/client/performance/time test with Axis Java to send
> 2097152 chars. This failed because I had a timeout set in the client.
> When I disabled the timeout I could use it for 4097152 char sting
> without trouble.
>
> ./timeTest 4097152 http://localhost:8080/axis/services/echo
>
> Using service at http://localhost:8080/axis/services/echo
>
> Time spent to invoke method ws.echoString(buffer); = 3.000000 s
> successful
> User time = 60 clock ticks
> System time = 20 clock ticks
> User time of children = 0 clock ticks
> System time of children = 0 clock ticks
> Processor time used = 800000 clock ticks
> Number of clock ticks per second = 100 clock ticks/s
>
>
> > calling a service which returns a large string fails to get full
message
> >
------------------------------------------------------------------------
> >
> > Key: AXISCPP-269
> > URL: http://nagoya.apache.org/jira/browse/AXISCPP-269
> > Project: Axis-C++
> > Type: Bug
> > Reporter: Andrew Perry
>
> >
> > One of the standard tests, LargeReturningString which sends an int
> to a service indicating the size of the string to return fails to
> return the full string to the client. I am requesting a 2Mb
> (1024*1024*2) string to be returned and the client only receives a
> 2089768 (this is not consistant) byte string, as reported by strlen,
> rather than the expected 2097152 byte string.
> > The service is running on IBM WebSphere which returns a chucked
> message in 8K chunks. The monitor program in ws-
> axis/c/tests/utils/monitor captures the message on the wire and
> writes it to a file, and this message is correct, so it's definitely
> a problem in the AxisClient code.
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
> http://nagoya.apache.org/jira/secure/Administrators.jspa
> -
> If you want more information on JIRA, or have a bug to report see:
> http://www.atlassian.com/software/jira
>


		
---------------------------------
Do you Yahoo!?
 Discover all that�s new in My Yahoo!

Re: [jira] Commented: (AXISCPP-269) calling a service which returns a large string fails to get full message

Posted by Andrew Perry2 <PE...@uk.ibm.com>.



Jira seems to be down at present so I'll comment here and update later.

There is no exception or error, the string gets returned to the client, it
is just not the correct length. It is also not consistant how many bytes
get lost and sometimes it works. Strangely it always seems to work when the
code is compiled with debugging, on Linux at least (-g flag).

Also my service is slightly different in that it does not echo a string,
but requests a string of a certain size, i.e. send an int and return a
string.

Regards

Andrew Perry
Clients for Web Service Stack
perryan@uk.ibm.com
Mail Point 127
IBM UK Laboratories. Hursley Park, Winchester, Hants. SO21 2JN
Tel. Internal 249828  External + 44 (0)1962 819828
Fax. + 44(0)1962 818080

"Samisa Abeysinghe (JIRA)" <ax...@ws.apache.org> wrote on 19/11/2004
09:13:30:

>      [ http://nagoya.apache.org/jira/browse/AXISCPP-269?
> page=comments#action_55663 ]
>
> Samisa Abeysinghe commented on AXISCPP-269:
> -------------------------------------------
>
> 1. What is the excat error/exception that you get?
> 2. Do you have a timeout set in the client?
>
> I used tests/client/performance/time test with Axis Java to send
> 2097152 chars. This failed because I had a timeout set in the client.
> When I disabled the timeout I could use it for 4097152 char sting
> without trouble.
>
> ./timeTest 4097152 http://localhost:8080/axis/services/echo
>
>  Using service at http://localhost:8080/axis/services/echo
>
> Time spent to invoke method ws.echoString(buffer); = 3.000000 s
> successful
> User time               = 60 clock ticks
> System time             = 20 clock ticks
> User time of children   = 0 clock ticks
> System time of children = 0 clock ticks
> Processor time used     = 800000 clock ticks
> Number of clock ticks per second = 100 clock ticks/s
>
>
> > calling a service which returns a large string fails to get full
message
> >
------------------------------------------------------------------------
> >
> >          Key: AXISCPP-269
> >          URL: http://nagoya.apache.org/jira/browse/AXISCPP-269
> >      Project: Axis-C++
> >         Type: Bug
> >     Reporter: Andrew Perry
>
> >
> > One of the standard tests, LargeReturningString which sends an int
> to a service indicating the size of the string to return fails to
> return the full string to the client. I am requesting a 2Mb
> (1024*1024*2) string to be returned and the client only receives a
> 2089768 (this is not consistant) byte string, as reported by strlen,
> rather than the expected 2097152 byte string.
> > The service is running on IBM WebSphere which returns a chucked
> message in 8K chunks. The monitor program in ws-
> axis/c/tests/utils/monitor captures the message on the wire and
> writes it to a file, and this message is correct, so it's definitely
> a problem in the AxisClient code.
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
>    http://nagoya.apache.org/jira/secure/Administrators.jspa
> -
> If you want more information on JIRA, or have a bug to report see:
>    http://www.atlassian.com/software/jira
>


[jira] Commented: (AXISCPP-269) calling a service which returns a large string fails to get full message

Posted by "Samisa Abeysinghe (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXISCPP-269?page=comments#action_55663 ]
     
Samisa Abeysinghe commented on AXISCPP-269:
-------------------------------------------

1. What is the excat error/exception that you get?
2. Do you have a timeout set in the client?

I used tests/client/performance/time test with Axis Java to send 2097152 chars. This failed because I had a timeout set in the client.
When I disabled the timeout I could use it for 4097152 char sting without trouble.

./timeTest 4097152 http://localhost:8080/axis/services/echo

 Using service at http://localhost:8080/axis/services/echo

Time spent to invoke method ws.echoString(buffer); = 3.000000 s
successful
User time               = 60 clock ticks
System time             = 20 clock ticks
User time of children   = 0 clock ticks
System time of children = 0 clock ticks
Processor time used     = 800000 clock ticks
Number of clock ticks per second = 100 clock ticks/s


> calling a service which returns a large string fails to get full message
> ------------------------------------------------------------------------
>
>          Key: AXISCPP-269
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-269
>      Project: Axis-C++
>         Type: Bug
>     Reporter: Andrew Perry

>
> One of the standard tests, LargeReturningString which sends an int to a service indicating the size of the string to return fails to return the full string to the client. I am requesting a 2Mb (1024*1024*2) string to be returned and the client only receives a 2089768 (this is not consistant) byte string, as reported by strlen, rather than the expected 2097152 byte string.
> The service is running on IBM WebSphere which returns a chucked message in 8K chunks. The monitor program in ws-axis/c/tests/utils/monitor captures the message on the wire and writes it to a file, and this message is correct, so it's definitely a problem in the AxisClient code.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira