Question

I'm trying to control a mail server from Perl (ArGoSoft Mail Server .NET). All it provides for this purpose is a .NET remoting interface (read more at http://en.wikipedia.org/wiki/.NET_Remoting).

I'm not very familiar with .NET and all my system is based on Apache and Perl (some on Windows, some on Linux). I need to control the mail server from Perl, being able to see, add or delete domains and users, along with other related stuff. All that can be done using the remoting interface, which is actually used by the ArGoSoft Web Interface, which naturally runs only on IIS.

I'm trying to find a way to communicate with that remoting interface from Perl. Again, I'm not very familiar with .NET, but seems to be some kind of web service that uses binary data. If I try to connect to it from telnet, I cannot do anything and reponds with an error as soon as I start typing anything.

Also, I used a sniffer to see the communication between the Web Interface and the remoting interface and 50% of what I got was binary data.

So, I'm wondering if someone here can think of a possible solution to this.

Thanks in advance,

Francisco

Was it helpful?

Solution

I suspect that your only reasonable solution would be to write a .NET wrapper that talks to the server and exposes an interface that Perl programs can access. Options would be COM (if Perl can do COM...I don't know), an HTTP interface or a custom TCP interface.

Talking to the Remoting interface directly would be very difficult. You would have to write a binary deserializer for the .NET objects that are being passed around. It would probably take longer to write the deserializer than it would take to learn enough .NET programming (if you don't know it) to write the wrapper.

You can write the .NET wrapper in any .NET-supported language: C#, F#, Visual Basic .NET, Managed C++, etc.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top