Hi,
I'm using WSE 2.0 SP2; using soap.tcp as in TcpSyncStockService sample; my
soap service is used to retrieve/put in data from/to database. The only
difference is I didn't include Main() in the Service project. The service is
started by the client the following way (please tell me if this design is
wrong, thanks):
EndpointReference endpoint = new EndpointReference(address, via);
if ( !SoapReceivers.Contains(endpoint) )
{
SoapReceivers.Add( endpoint, typeof(MySoapService) );
//Adding username token to global cache...
}
The communication is fine, the data are brought back correctly (well, most
of the time but this is another issue). The main problem: it is
*unbelievably" slow. It is significantly slower than when I had a standard
web service. I'm using the same server, the same database, same stored
procedures... And it is all still on localhost. While debugging I could
easily see how long it takes for the call to the server to get some data to
actually be executed - you can easily drink half cup of coffee in that time.
From what I read I understood that communication over TCP should be faster
than HTTP, so it must be my mistake. What is wrong with my design? Any
guesses, hints, solutions and suggestions will be very much appreciated.
Anna
JohnnySparkles - 18 Aug 2005 03:23 GMT
Hi Anna,
Are you using X509 certificates for the security by any chance? I had a
similar problem that was caused because the URL's in the certificates I was
using weren't correct and had to wait for time-outs before the message could
be sent.
I think your code says it's using Username Token so you should check and see
if there are any url's inside that which may also need to be resolved.
You could also try running a performance tool to see exactly where the time
is being spent.
Good Luck
Johnny
> Hi,
> I'm using WSE 2.0 SP2; using soap.tcp as in TcpSyncStockService sample; my
[quoted text clipped - 24 lines]
>
>