Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP .Net Web Services > Service unavailable on First call in synchronous mode only! question for webservice.htc gurus.

Reply
Thread Tools

Service unavailable on First call in synchronous mode only! question for webservice.htc gurus.

 
 
sonic_soul
Guest
Posts: n/a
 
      10-20-2004
Hi,
This is a interesting problem.

I got webservice.htc integrated pretty well with .net framework. I
wrote a control that generates all the necessary scripts to consume
webservices with dhtml objects.

It is working great for me accept for one scenario.

When the page loads, and the first webservice call is synchronous, it
returns "service unavailable" error, BEFORE actually making the server
call!

After stepping through the webservice.htc file a few [dozen] times i
noticed that:
callService method checks for readyState == 4 (completed) status of
the xml object. if call is synchronous and status isnt 4 it throws the
"service unavailable" error.

the status is actually 3 (loaded) during the call.

after callservice is executed and I get the nice error alert,
onreadystatechange event is exected again and the xml doc is now in
completed state.

therefore every call after this is successful!


I am running out of ideas on how to troubleshoot this further (other
than working around by making a dummy call to the ws on page load) but
i would hate to work around such important issue.


here is my abridged viewsource (all my js is autogenerated by asp.net
control):

<div id="WebService_233632359"
style="behavior:url(/scripts/webservice.htc)">

function Confirmation_servicecontrol_SubmitTrade_synchronou s (
Quantity, Price, Symbol, tradeId, Action ) {

// create call object and set its properties

var callobject = new Object();
callobject.funcName = 'SubmitTrade';
callobject.async = false;


// register service if this is the first time running it
// tagid.classname ( classname = name of server side class which
methods will be using )
if ( ! WebService_233632359.Confirmation ) {

// check if this service has a registration function
if ( typeof(register_Confirmation_servicecontrol) == 'function' )
{
register_Confirmation_servicecontrol();
} else {

// are we in debug mode ?
if (register_Confirmation_servicecontrol) {
alert( 'registration function not found
register_Confirmation_servicecontrol' );
}
return;
}
}

// verify that the service was registered and call it
if ( WebService_233632359.Confirmation ) {


// webservice call

return WebService_233632359.Confirmation.callService( callobject ,
Quantity, Price, Symbol, tradeId, Action );


} else {
if (true) { alert( ' service failed to register ::
WebService_233632359:Confirmation ' ); }
}

}

function register_Confirmation_servicecontrol() {
WebService_233632359.useService('http://localhost/pbt/Confirmation.asmx?wsdl','Confirmation');
}
 
Reply With Quote
 
 
 
 
David
Guest
Posts: n/a
 
      10-26-2004
Actually, if you're calling the service synchronously, I believe the
applicable code is in the _invoke method of webservice.htc. Specifically the
following code block:

try
{
oXmlHttp.xmlHttp.send(szPayload);
}
catch(e)
{
return returnError(oCall, 5);
}
if (oXmlHttp.xmlHttp.responseXML.parseError.errorCode != 0)
{
_errUnknownS.raw = oXmlHttp.xmlHttp.responseText;
return returnError(oCall, 4);
}

If you'll send me your email, I'll send you a commented/formatted version of
webservice.htc that I just created. If you're going to spend much time
trying to understand that code - like I've been trying to do - you'll need
all the help you can get!

David Thom
http://www.velocityreviews.com/forums/(E-Mail Removed)




"sonic_soul" wrote:

> Hi,
> This is a interesting problem.
>
> I got webservice.htc integrated pretty well with .net framework. I
> wrote a control that generates all the necessary scripts to consume
> webservices with dhtml objects.
>
> It is working great for me accept for one scenario.
>
> When the page loads, and the first webservice call is synchronous, it
> returns "service unavailable" error, BEFORE actually making the server
> call!
>
> After stepping through the webservice.htc file a few [dozen] times i
> noticed that:
> callService method checks for readyState == 4 (completed) status of
> the xml object. if call is synchronous and status isnt 4 it throws the
> "service unavailable" error.
>
> the status is actually 3 (loaded) during the call.
>
> after callservice is executed and I get the nice error alert,
> onreadystatechange event is exected again and the xml doc is now in
> completed state.
>
> therefore every call after this is successful!
>
>
> I am running out of ideas on how to troubleshoot this further (other
> than working around by making a dummy call to the ws on page load) but
> i would hate to work around such important issue.
>
>
> here is my abridged viewsource (all my js is autogenerated by asp.net
> control):
>
> <div id="WebService_233632359"
> style="behavior:url(/scripts/webservice.htc)">
>
> function Confirmation_servicecontrol_SubmitTrade_synchronou s (
> Quantity, Price, Symbol, tradeId, Action ) {
>
> // create call object and set its properties
>
> var callobject = new Object();
> callobject.funcName = 'SubmitTrade';
> callobject.async = false;
>
>
> // register service if this is the first time running it
> // tagid.classname ( classname = name of server side class which
> methods will be using )
> if ( ! WebService_233632359.Confirmation ) {
>
> // check if this service has a registration function
> if ( typeof(register_Confirmation_servicecontrol) == 'function' )
> {
> register_Confirmation_servicecontrol();
> } else {
>
> // are we in debug mode ?
> if (register_Confirmation_servicecontrol) {
> alert( 'registration function not found
> register_Confirmation_servicecontrol' );
> }
> return;
> }
> }
>
> // verify that the service was registered and call it
> if ( WebService_233632359.Confirmation ) {
>
>
> // webservice call
>
> return WebService_233632359.Confirmation.callService( callobject ,
> Quantity, Price, Symbol, tradeId, Action );
>
>
> } else {
> if (true) { alert( ' service failed to register ::
> WebService_233632359:Confirmation ' ); }
> }
>
> }
>
> function register_Confirmation_servicecontrol() {
> WebService_233632359.useService('http://localhost/pbt/Confirmation.asmx?wsdl','Confirmation');
> }
>

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Difference between synchronous (proactor pattern) and synchronous model in web server Rickert C++ 0 10-06-2011 04:54 AM
XMLHttpRequest Object: Asynchronous vs Synchronous Mode HugeBob Javascript 5 03-30-2007 08:29 AM
asynchronous call from synchronous web service method Secret Squirrel ASP .Net Web Services 1 10-07-2005 10:36 AM
XMLHttpRequest Synchronous mode not work in Firefox David Javascript 10 05-04-2005 10:11 AM
Asynchronous Messages (using JMS) improves performance even when the desired comm. mode is synchronous eJAYBee Java 0 12-10-2004 08:52 PM



Advertisments