RTC Forums

Subscription => Support => Topic started by: zsleo on August 29, 2013, 04:25:57 AM



Title: SOAP Server Application with TRtcHTTPClient and TRtcDataRequest
Post by: zsleo on August 29, 2013, 04:25:57 AM
I have a SOAP Server Application with a SOAP server interface that that has been workingin for a long time as an ISAPI service running as HTTPS.

I needed to extend the application to call a remote 3rd party application with a URL Encoded interface.

I also have a EXE version of the application that I use for testing.

On the datamodule I added a TRtcHTTPClient and TRtcDataRequest.

In the EXE version when the TRtcHTTPClient Post is called, the OnBeginRequest of the TRtcDataRequest triggers and the application works as requested.

When I deploy the application as ISAPI when the TRtcHTTPClient Post is called the OnBeginRequest is never entered...

Any ideas where I am going wrong?

TIA

Zane


Title: Re: SOAP Server Application with TRtcHTTPClient and TRtcDataRequest
Post by: D.Tkalcec (RTC) on August 29, 2013, 10:21:48 AM
When using TRtcHttpClient components inside a DLL, ActiveX Control or a Command-Line Project, you won't have a Windows message queue, which is required when using the components with the default settings (asynchronous WinSock API). To fix that, you should use the components in Blocking mode. This can be done by setting the "WinInet", "WinHTTP" or "Blocking" property to TRUE.

Setting "WinInet" to TRUE will use the WinInet API.
Setting "WinHTTP" to TRUE will use the WinHTTP API.
Setting "Blocking" to TRUE will use the blocking WinSock API.

Best Regards,
Danijel Tkalcec


Title: Re: SOAP Server Application with TRtcHTTPClient and TRtcDataRequest
Post by: zsleo on August 29, 2013, 02:25:19 PM
Danijel,

I did have Blocking set to true.

I also had MultiThreaded set to true. When I set MultiThreaded to False it fixed the problem.

Thanks,

Zane


Title: Re: SOAP Server Application with TRtcHTTPClient and TRtcDataRequest
Post by: D.Tkalcec (RTC) on August 29, 2013, 02:32:34 PM
Sorry. I forgot to mention the MultiThreaded setting. It is another culprit, when the code is not used inside a Delphi EXE. I'm glad you have the problem solved.

Best Regards,
Danijel Tkalcec