|
|
|
Supreme Being
      
Group: Forum Members
Last Login: 2009-12-21 19:09:25
Posts: 111,
Visits: 839
|
|
Hi everyone,
I spent my last two days trying to make a asp.net application work as a .Net remoting server for another vcl.net app.
I just can't seem to get it right. Apparently in my pc (localhost) everything works as it should, but that isn't the case in my production server.
The approach used was to add the section in the asp.net app web.config file.
I followed the Remote Persistence tutorial for VS, but it was hard because it isn't updated.
Can anyone help me?
Thanks.
--
Pedro Brown
pedro@tectrilha.com.br
Tectrilha Software - Borland Learning Partner
|
|
|
|
|
Supreme Being
      
Group: Administrators
Last Login: 2010-11-30 12:17:13
Posts: 1 230,
Visits: 1 382
|
|
Exactly what problems did you encounter? Do you get any specific error messages? what URL do you use for the PersistenceMapperClient? What is the server registered as?
/Jonas Hogstrom [CapableObjects]
|
|
|
|
|
Supreme Being
      
Group: Forum Members
Last Login: 2009-12-21 19:09:25
Posts: 111,
Visits: 839
|
|
Hmm, let's see,
In RAD Studio I have a "Project Group" separated as follows: OS.Model.dll, Os.EcoSpace.dll, OS.dll (Site), OS.Client (Vcl.Net).
OS.EcoSpace.dll contains a EcoSpaceUnit.pas and a PersistenceMapperProvider.pas. OS.dll contains the this remoting section in the web.config:
<system.runtime.remoting>
<application>
<service>
<wellknown
mode="Singleton"
objectUri="MsProjectRemoteServe.rem"
type="PersistenceMapperProvider.TPersistenceMapperProvider, OS.EcoSpace"/>
</service>
<channels>
<channel ref="http">
<serverProviders>
<formatter ref="soap" typeFilterLevel="Full" />
</serverProviders>
<clientProviders>
<formatter ref="soap" />
</clientProviders>
</channel>
</channels>
</application>
</system.runtime.remoting>
My intention was to deploy OS.Model, OS.EcoSpace and OS dlls and connect the OS.Client application throught .net remoting.
In the PersistenceMapperProvider I placed a PersistenceMapperMySql. The Application was deployed to www.tectrilha.com.br/os
In the PersistenceMapperClient (OS.Client), the Url is http://www.tectrilha.com.br:80/os/MsProjectRemoteServe.rem
The error I get is in portuguese. I'll try to translate that to english but don't expect to be the same as the error in English:
An attempt to connect failed because the connected component didn't respond after a period of time or because the established connection failed because the connecteed host 10.100.1.32:80 didn't respond.
Is there anymore information that you need?
Thanks.
--
Pedro Brown
pedro@tectrilha.com.br
Tectrilha Software - Borland Learning Partner
|
|
|
|
|
Supreme Being
      
Group: Forum Members
Last Login: 2009-12-21 19:09:25
Posts: 111,
Visits: 839
|
|
|
|
|
|
Supreme Being
      
Group: Forum Members
Last Login: 2009-12-21 19:09:25
Posts: 111,
Visits: 839
|
|
I was researching this matter and ran into this article. Is says that after configuring a .net remote app we could navigate to something like http://www.tectrilha.com.br/os/MsProjectRemoteServer.rem?wsdl and recieve a xml file. Neither locally or in my production server I can see the mentioned xml file. Could this be an indication that something is wrong?
I get the following error when accessing that webpage:
System.ArgumentNullException: No message was deserialized prior to calling the DispatchChannelSink.
Parameter name: requestMsg
at System.Runtime.Remoting.Channels.DispatchChannelSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)
at System.Runtime.Remoting.Channels.SoapServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)
at System.Runtime.Remoting.Channels.Http.HttpHandlerTransportSink.HandleRequest(HttpContext context)
at System.Runtime.Remoting.Channels.Http.HttpRemotingHandler.InternalProcessRequest(HttpContext context)
Thanks
--
Pedro Brown
pedro@tectrilha.com.br
Tectrilha Software - Borland Learning Partner
|
|
|
|
|
Supreme Being
      
Group: Forum Members
Last Login: Yesterday @ 16:25:35
Posts: 137,
Visits: 411
|
|
Hi,
If it is ok on your dev machine and does not work on production it means that you have different settings.
Check references, GAC, firewall, CodeAccessSecurity Policy, or PMPClient's url to the remoting server (your production?)
Best Regards,
Alex
|
|
|
|
|
Supreme Being
      
Group: Forum Members
Last Login: 2009-12-21 19:09:25
Posts: 111,
Visits: 839
|
|
Hi,
I don''t own the production server. My site is at www.locaweb.com.br. It is the largest web host here in brazil.
In my opinion, the problem could be that when developing, eco is capable of translating http://localhost/os/RemoteServer.rem into something like Http://192.168.1.100/os/RemoteServer.rem.
In my production server this is not possible. Can this be the problem? How could I solve this?
--
Pedro Brown
pedro@tectrilha.com.br
Tectrilha Software - Borland Learning Partner
|
|
|
|
|
Supreme Being
      
Group: Forum Members
Last Login: Yesterday @ 16:25:35
Posts: 137,
Visits: 411
|
|
Hi,
ECO is not responsible to do this.
Try to connect from your client's project to the web host, i.e. put instead of http://localhost/os/RemoteServer.rem the string like http://your_web-hosting/os/RemoteServer.rem
Next, your web host can disable some .NET features for the security reasons. In this case I would try to contact with web host servicedesk first and ask them about remoting
|
|
|
|
|
Supreme Being
      
Group: Forum Members
Last Login: 2009-12-21 19:09:25
Posts: 111,
Visits: 839
|
|
Hi Alex,
Thanks for your help. That is what I've been trying to do since the begining without success.
In my developing machine I have the following scenario: IIS hosts a asp.net app that contains OS.dll, OS.EcoSpace.dll, OS.Model.dll.
In OS.EcoSpace.dll I have a TPersistenceMapperProvider class, that contains a MySqlConnection, PersistenceMapperMySql, etc..
In OS.dll -> Web.config I have a <system.net.remoting> section just like the capable objects pdf tells me to.
The virtual directory is http://localhost/os/, so the remoting uri becames http://localhost/os/RemoteServer.rem.
In my production server, my app is hosted at http://www.tectrilha.com.br/os.
I tried to run my client app connection to the RemoteServer.rem locally (PersistenceMapperClient.Url := 'hhtp://localhost:80/os/RemoteServer.rem') and it worked. It didn't work however in production (PersistenceMapperClient.Url := 'hhtp://www.tectrilha.com.br:80/os/RemoteServer.rem').
I asked for help because I thought that maybe I was missing something, but aparently that is not the case.
Thank you very much for your help.
--
Pedro Brown
pedro@tectrilha.com.br
Tectrilha Software - Borland Learning Partner
|
|
|
|
|
Supreme Being
      
Group: Forum Members
Last Login: 2011-12-16 12:05:58
Posts: 120,
Visits: 1 643
|
|
suggestion: use log4net to trace

|
|
|
|