I have a C#.Net windows app that calls a FileNet web service. I can run a
select against the web service and it returns up to 7,200 records with 5
columns each. When I try to select more rows I get a WSE352 "The size of
the record exceed its limit." I think I am at the default 4 mb download
limit. I am using WSE2.0 on dotNet Framework 1.1.
I have tried changing the machine.config in the .Net\Frame work file and set
<maxRequestLength>-1</maxRequestLength> for testing purposes. This did not
help.
I tried changing WSE.config in the Microsoft Wse\2.0 directory
<maxRequestLength>-1</maxRequestLength> for testing purposes. This did not
help.
I have tried adding to my app.config file in my windows project
<microsoft.web.services2>
<messaging>
<maxRequestLength>-1</maxRequestLength>
</messaging>
</microsoft.web.services2>
I am still getting WSE352 errors.
Any help or ideas would be appreciated, thanks.
Welcome to the MSDN newsgroup.
From your description, you're developing an .net webservice which uses WSE
2.0. And the webservice exposes some webmethod for transfering data
records. However, you're encountering some "record size exceed limit..."
error when transfering large amount of data, correct?
As for the webservice, is it an ASP.NET webservice or just a simple WSE
service component(soapservice, soap client)? Also, as for the data
transfering, are you using DIME? In addition, as for data transfering
method , is it used for uploading data from client to server or downloading
data from server to client?
Based on my research, the <maxRequestLength> setting is described as below
in WSE 2.0 document:
===========
<maxRequestLength> Element is used to specifies the maximum size for
incoming SOAP messages.
===========
Therefore, according to the following cases, we should take the
corresponding care in the application configuration(WSE):
1. If the method is uploading data from client to server, the
"maxRequestLength" setting should be configured in server-side webservice's
config file
2. If the method is downloading data frmo server to client, this should be
configured in the client application's configuration file
You can verify this in your application. Also, if the webservice is hosted
in ASP.NET environment, asp.net appliation has also a <httpRuntime
maxRequestLength= > setting in web.config. You'll also take care of this
setting if this is the case.
#httpRuntime Element (ASP.NET Settings Schema)
http://msdn2.microsoft.com/en-us/library/e1f13641.aspx
Hope this helps. If there is anything I missed or any other paricular
finding, please feel free to post here.
Regards,
Steven Cheng
Microsoft MSDN Online Support Lead
==================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
The webservice is a WSE service component soap client. It is a windows form
project. Images are received as DIME attachments when requested. In this
case I am not requesting an image so I think the records are sent in the
soap envelope without the dime attachment (not 100% sure). I think I need
to set the maxRequestLength in my app.config file like you suggest. I am
just not sure where the tags go. In my Web References I reference the web
service and have set the URL Behavior to Dynamic. This generated an
app.config file for me. I have tried to add the maxRequestLength in this
file but get a .Net exception "Unrecognized configuration section
microsoft.web.services2"
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="V3updateP8Guidv1.CEWSI.FNCEWS35Service"
value="http://myUrl/FNCEWS35DIME"/>
</appSettings>
<microsoft.web.services2>
<messaging>
<maxRequestLength>-1</maxRequestLength>
</messaging>
</microsoft.web.services2>
</configuration>
I know this is wrong because of the exception. When I move the whole
<microsoft.web.services2> group into the appSettings node I do not get an
exception but it still gets the size of the record exceeds its limit.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="V3updateP8Guidv1.CEWSI.FNCEWS35Service"
value="http://myUrl/FNCEWS35DIME"/>
<microsoft.web.services2>
<messaging>
<maxRequestLength>-1</maxRequestLength>
</messaging>
</microsoft.web.services2>
</appSettings>
</configuration>
To answer your other question it is used for downloading.
Thank you for helping! This will be cool if I get it to work.
"Steven Cheng[MSFT]" <stc...@online.microsoft.com> wrote in message
news:3M8aYHmp...@TK2MSFTNGXA01.phx.gbl...
Since you confirmed that the webmethod is a data downloading method, the
maxRequestLength should be set in the client application's app.config file.
You have posted the configuration section in your last reply as below:
================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="V3updateP8Guidv1.CEWSI.FNCEWS35Service"
value="http://myUrl/FNCEWS35DIME"/>
</appSettings>
<microsoft.web.services2>
<messaging>
<maxRequestLength>-1</maxRequestLength>
</messaging>
</microsoft.web.services2>
</configuration>
==================
is this the complete content of our client appliation's app.config? If
so, I think you need to add the section registering info for the
<microsoft.web.services2> configuration section. This is a custom
section(not .net framework 1.1. built-in one) which need to be declared in
config file before using it. Therefore, a complete configuration file
will look like below:
=====================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- here is the section registering section-->
<configSections>
<section name="microsoft.web.services2"
type="Microsoft.Web.Services2.Configuration.WebServicesConfiguration,
Microsoft.Web.Services2, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" />
</configSections>
<microsoft.web.services2>
<messaging>
<maxRequestLength>-1</maxRequestLength>
</messaging>
</microsoft.web.services2>
<!-- maybe some other configuration sections-->
</configuration>
=======================
BTW, if you have installed the WSE 2.0's sample application, you can find
some sample configuration files among those samples. Also, if the Visual
Studio 2003's WSE 2.0 add-in is installed, the add-in can help use
generated a correct configuration file(whch contains the section
registering elements automatically).
Hope this helps. If there is still anything unclear or any other problems,
Here is my app.config file that works.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="microsoft.web.services2"
type="Microsoft.Web.Services2.Configuration.WebServicesConfiguration,
Microsoft.Web.Services2, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" />
</configSections>
<appSettings>
<add key="V3updateP8Guidv1.CEWSI.FNCEWS35Service"
value="http://myUrl/FNCEWS35DIME"/>
</appSettings>
<microsoft.web.services2>
<messaging>
<maxRequestLength>-1</maxRequestLength>
</messaging>
</microsoft.web.services2>
</configuration>
Thank you agian,
Steve
"Steven Cheng[MSFT]" <stc...@online.microsoft.com> wrote in message
news:dxDweSvp...@TK2MSFTNGXA01.phx.gbl...
I'm also very happy that it helped you get it working.
Have a nice day!