views:

30

answers:

2

I have a wcf service created that's being consumed by a silverlight application. We are using the service to get geographic data back:

  1. A point (consisting of an X and Y double)
  2. A shape represented as a List>

Our one service method returns a collection of "Items" which contains a "Object ItemData" property. Depending on the data we get from the database, the ItemData property is either set as a Point or a List>

For some reason we are able to get a single point object anytime I try to pass the List> the service times out. We maxed out the buffers in the config which didn't fix anything. I changed the service to only return one item in the List> and it still throws the error. Went as far as converting the list to use arrays instead but with no luck.

Any ideas as to what could be happening? I don't get any exceptions that I can see in the WCF service. Fiddler hasn't been much help either :-\

+1  A: 

have you changed the sendTimout property of the WCF service?

can you debug the service? maybe it is failing. you could modify the service behavior to includeExceptionDetalInFaults.

you could make a shell program to run on the server just to do the get List use case and see if it completes sucessfully.

What do you get from Fiddler? does it return anything?

Alex Lo
I can debug the service. It executes fine and I get to the return statement. I added a try catch around the body and no exceptions are caught before the return so it would appear things are in order there. All i can see in fiddler is the service request call from Silverlight with no response.
Buddy Lee
try having the contract return just like the first value from the list (a real value type, like an int or double). maybe WCF doesnt like your return type?
Alex Lo
your solution is what i was hinting at in changing the return type, FYI
Alex Lo
A: 

The solution turned out to be simple. Had to specify additional known types in the ServiceContract.

Ended up finally resolving this after my manager suggested we pass our return value through the DataContractSerializor by hand. PITA bug to find but hopefully this helps someone.

Buddy Lee