Hi Chinthana

Just some clarifications.

1. When you said it works did you mean that the client was deserializing correctly too. Because the soap response is being generated( I can see all the numbers in the soap response in my setup also) but I am getting a segmentation fault in the client.

2. Are you using an Axis cpp client ? Also what version of Axiscpp are you using. I am using the code checked out from the CVS on 18th july.

Cheers
Krishna

Chinthana C. Dinapala wrote:

Hi Krishna,

I have tried this once again with your new files. Its worked me fine.

I have tried with 200, 209, 500, 10000, 200000 its working nicely.

But when I tried with the 1000000 it has stoped in 225049.

Also continuesly runing I get some time out but its not failing every time.

Between 209 – 100000 worked for me.

Eg

Sending…

<?xml version='1.0' encoding='utf-8' ?>

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>

<SOAP-ENV:Body>

<ns1:echoIntArray xmlns:ns1="http://soapinterop.org/";>

<intArrayType xsi:type="ns2:intArrayType" xmlns:ns2="http://soapinterop.org/xsd";><intItemArray xmlns:enc="http://www.w3.org/2001/06/soap-encoding"; enc:arrayType="xsd:int[1]">

<item>500</item>

</intItemArray>

</intArrayType></ns1:echoIntArray>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Received….

1f4e

<?xml version='1.0' encoding='utf-8' ?>

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>

<SOAP-ENV:Body>

<ns1:echoIntArrayResponse xmlns:ns1="http://soapinterop.org/";>

<intArrayType xsi:type="ns2:intArrayType" xmlns:ns2="http://soapinterop.org/xsd";><intItemArray xmlns:enc="http://www.w3.org/2001/06/soap-encoding"; enc:arrayType="xsd:int[500]">

<item>0</item>

<item>1</item>

<item>2</item>

<item>3</item>

<item>4</item>

<item>5</item>

<item>6</item>

<item>7</item>

<item>8</item>

<item>9</item>

<item>10</item>

<item>11</item>

<item>12</item>

<item>13</item>

<item>14</item>

<item>15</item>

<item>16</item>

<item>17</item>

<item>18</item>

<item>19</item>

<item>20</item>

<item>21</item>

<item>22</item>

.

.

.

<item>477</item>

<item>478</item>

<item>479</item>

<item>480</item>

<item>481</item>

<item>482</item>

<item>483</item>

<item>484</item>

<item>485</item>

<item>486</item>

<item>487</item>

<item>488</item>

<item>489</item>

<item>490</item>

<item>491</item>

<item>492</item>

<item>493</item>

<item>494</item>

<item>495</item>

<item>496</item>

<item>497</item>

<item>498</item>

<item>499</item>

</intItemArray>

</intArrayType></ns1:echoIntArrayResponse>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

0

Thanks

Chinthana

-----Original Message-----
From: krishna [mailto:[EMAIL PROTECTED]
Sent: Tuesday, July 26, 2005 2:39 PM
To: Apache AXIS C Developers List
Subject: Re: Array example fails for large number of numbers

Hi Chinthana

Thanks for your prompt response. I must apologise for the fact that the

files sent last time had a few lines of code commented which should not

have been so. I have corrected the files and attached them.

The modified array service (attached) sends an integer to the server (

say 'n' )

and the server responds to the request by sending all numbers < n ( that

makes it n numbers )

in the SOAP-RESPONSE.

So if i have the number 1000 (generalized as 'n' above) in the

SOAP-REQUEST then i get 1000 numbers back in the SOAP-RESPONSE.

While doing so I am facing errors with the service in the fashion

described in my previous email.

Quoting from my previous email

" I am trying to run a

modified array example (CPP:RPC) which segfaults if

numbers returned are > 209 but works for numbers > 100000. ( I think

this may be some sort of a memory error ) "

So when this parameter 'n' < 209 all works fine. when this parameter n >

100000 it sometimes works fine and sometimes doesnt.

But when n > 209 and n < 100000 I always get a segmentation fault on the

client side.( The numbers used here are very specific to the example )

The server side does generate the xml for all the numbers which can be

verified by capturing the soap response.

It is interesting to note that when this is run through gdb no

errors/segmentation faults occur.

Cheers

Krishna

Chinthana C. Dinapala wrote:

Hi Krishna,



I have checked your Array example and got following out put.



Invoking Echo int Array



Not null output



But in your client code you have used following files which is not

compile for me.



#include <./../src/soap/SoapDeSerializer1.h> //points to

SoapSerializer modified file SoapSerializer



#include <arpa/inet.h>



#include <netdb.h>



Seems to me you have using some modified SoapSerializer and other

files I don’t have any idea.



I got following SOAP messages.



*Sending……………………….*



<?xml version='1.0' encoding='utf-8' ?>



<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";

xmlns:xsd="http://www.w3.org/2001/XMLSchema";

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>



<SOAP-ENV:Body>



<ns1:echoIntArray xmlns:ns1="http://soapinterop.org/";>



<intArrayType xsi:type="ns2:intArrayType"

xmlns:ns2="http://soapinterop.org/xsd";><intItemArray

xmlns:enc="http://www.w3.org/2001/06/soap-encoding";

enc:arrayType="xsd:int[1]">



<item>0</item>



</intItemArray>



</intArrayType></ns1:echoIntArray>



</SOAP-ENV:Body>



</SOAP-ENV:Envelope>



*Received……………………………………………………….*



<?xml version='1.0' encoding='utf-8' ?>



<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";

xmlns:xsd="http://www.w3.org/2001/XMLSchema";

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>



<SOAP-ENV:Body>



<ns1:echoIntArrayResponse xmlns:ns1="http://soapinterop.org/";>



<intArrayType xsi:type="ns2:intArrayType"

xmlns:ns2="http://soapinterop.org/xsd";><intItemArray

xmlns:enc="http://www.w3.org/2001/06/soap-encoding";

enc:arrayType="xsd:int[1]">



<item>0</item>



</intItemArray>



</intArrayType></ns1:echoIntArrayResponse>



</SOAP-ENV:Body>



</SOAP-ENV:Envelope>



I have modified only client code and I have attached it. (I just set

the SOAP action and the URL and comment the 3 files I mention above)



Thanks



-----Original Message-----

From: krishna [mailto:[EMAIL PROTECTED]

Sent: Saturday, July 23, 2005 7:03 AM

To: Apache AXIS C Developers List

Subject: Re: Array example fails for large number of numbers



Hi All



I am using Axis 1.6alpha ( CVS checkout ). I am trying to run a



modified array example (CPP:RPC) which segfaults if



numbers returned are > 209 but works for numbers > 100000. ( I think



this may be some sort of a memory error )



I have attached the modified client and server files of the Array



(CPP:RPC) example with the WSDL. (The rest is the files as generated by



wsdl2ws)



The server does return all the values which is seen in the SOAP-RESPONSE.



The example works fine for all values when run under gdb.



I have also tried passing various values to setServerTimeout() and got



the same results.



Any pointers to why this is happening and how it can be solved?



Cheers



Krishna



Samisa Abeysinghe wrote:



Sorry for the delay in responding.







However, the server may have run into problems due to some memory



errors (these effested client side as well) I fixed some memory



errors. Could please try now and see?







Thanks,



Samisa...







On 7/6/05, krishna <[EMAIL PROTECTED]> wrote:











Hi Fred/All







Thanks for the reply. Do you have any idea as to why the first error is



occurring or/and what I may do to debug it.







Cheers



Krishna







Fred Preston wrote:















Hi Krishna,



Answering your second question, '2. Some text - "ffb" came



into the message'. This is fine. What is happening is when you have



a large message it cannot be sent as a single block, but has to be cut



up into smaller blocks or 'chunks'. What you are seeing is called



'chunking' and the numbers are actually hexadecimal numbers that begin



each chunk and tell the transport how big that chunk is.







Regards,







Fred Preston.



















*krishna <[EMAIL PROTECTED]>*







07/06/2005 02:44 AM



Please respond to "Apache AXIS C Developers List"











To: Apache AXIS C Developers List



<[email protected]>



cc:



Subject: Array example fails for large number of numbers



























Hi All







I was implementing the Array example on Axis 1.6 alpha. (
echoIntArray -



The client sends an array of numbers and the server echoes the array



back to the client ). This is a RPC based webservice







The example seemed to work fine for < 200 numbers. For numbers >
200 the



I had the following problems



I have attached the source code and stubs along with this email.







Please find parts of the SOAP_RESPONSE below.







1. The server did not echo back all the numbers







<item>1159</item>



<item>1160</item>



<item>1161</item>



<item>1162</item>



<item







The message stopped here it was supposed to return 10000 items.







2. Some text - "ffb" came into the message







<item>208</item>



<item>209</item>



<item



ffb











210</item>











<item>211</item>



<item>212</item>







<item>449</item>



<item>450</item>



ffb







<item>451</item>



<item>452</item>







Is this a known issue? The output above was captured using ethereal.







Cheers



Krishna



















#### example_xml_array.tar has been removed from this note on July 06



2005 by Fred Preston








































Reply via email to