Login  
Search All Forums
Dart Home | PowerTCP FTP for .NET | Custom Development Reply | PowerTCP FTP for .NET Topics | Forums   
AuthorForum: PowerTCP FTP for .NET
Topic: Another distribution issue
roballen

From: sydney, Australia
Posts: 6
Member Since: 06/20/02
posted June 20, 2002 1:18 AM

I am trying to use the ftp .NET control with a web service. It runs fine on my machine, but I cannot get it to work on a test machine. Calling a very simple procedure "TransferFile" using the web service results in the error:

=============================================
"Server was unable to process request. --> This PowerTCP product is not licensed and a trial license is not present.

If this is a server-based application, you must install this product on your platform to enable the 30-day trial license. If this is a compiled application, you must add <Dart.PowerTCP.FTP Dart.PowerTCP.FTP.dll> to the licenses.licx file in your project."
===========================================

I have tried just about everything imaginable to get it to work. It runs fine on my development machine, and the DLL's appear to be ok on the webserver. I built the C# sample, and that worked fine on the webserver as well. My machine has a valid license, and a licenses.licx seems to be created when I create the project in Visual Studio. I've tried manually creating licenses.licx, but to no avail.

What am I doing wrong?

Thanks.
Robert
K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted June 20, 2002 9:23 AM

Hi Robert,
Is this an ASP.Net application?
If so, please see the Getting Started/Deployment in Asp.Net page of the help documentation.
Thanks,
-ken
roballen

From: sydney, Australia
Posts: 6
Member Since: 06/20/02
posted June 20, 2002 10:54 AM

Hi Ken,
Thanks for your quick reply.
Yes, it is an ASP.NET application and I did read through the help file you mentioned.
Our problem is this:
We have a main server which stores files. There are 50 or so other machines which occasionally need a file from this server. To automate the transfer, we plan to call a web service from the server to the machines, telling them to download a certain file. This web service will use the ftp client to retrieve the file, before doing some work on it.
Do we need 50 licenses of FTP for .NET to do this?

Further, I can't even get a trial license installed on the ASP.NET server - when trying to install FTP for .NET, it informs me that Visual Studio is required. The license for the software currently resides on my development machine. How do we get around this?

Thanks,
Robert
K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted June 20, 2002 11:07 AM

Hi Robert,
You can install your license on this machine by just copying over our Registration utility and running it. You do not have to install the full product, and this does not require VS.NET to run.
Alex is going to respond to your initial question.
-ken
Alex Gladshtein



From: Rome, NY USA
Posts: 131
Member Since: 12/27/00
posted June 20, 2002 11:11 AM

Hello Robert,

Ken will address your licensing issue, but I have some questions concerning your web service implementation. Is the FTP component on the same machine that hosts the FTP Server? How are you implementing the web service on the clients? As long as the ASP.NET server hosting the FTP component doesn't have the component properly licensed, nothing else will work with it. If you can send us some kind of communications map or process map we may be able to see the problem (if getting it licensed on the ASP.NET box doesn't fix it).
roballen

From: sydney, Australia
Posts: 6
Member Since: 06/20/02
posted June 21, 2002 1:12 AM

Hi

We are building a .NET windows client application that requires the ability to FTP files from an FTP server. We are accessing the client system by sending the request through an XML web service (written in ASP.NET) for the windows XP Pro machine to start downloading the specified file from the FTP Server.

We have built a pre-release version that tests the FTP and we are trying to deploy the client, yet we are still getting an exception caused by your control saying it isn’t registered. From what you are saying, the ftp control has to be registered if it is being accessed through ASP.NET.
Calling exactly the same function in the same DLL through a windows application front end works fine, but we need to call it through a web service.

We purchased your product (.NET powerTCP FTP components) based on the royalty free runtime.
 
Regarding your question whether the control is on the server: It is definitely not being run on a server machine. The control is to be run on approx 50 client machines that need to download files via FTP from the FTP server. I have read your licence agreement and am positive we are not trying to do anything which breaks this agreement and thus the runtime machine should not need to be registered.

Why does the control need to be registered just because the request is coming through a web service? Or is there something we need to do during deployment that will fix this issue?

Thanks for your help in resolving this issue,
Robert.

Alex Gladshtein



From: Rome, NY USA
Posts: 131
Member Since: 12/27/00
posted June 21, 2002 8:34 AM

Hello Robert,

I am still a little confused by your application description. When you say, "we are accessing the client system by sending the request through an XML web service (written in ASP.NET) for the windows XP Pro machine to start downloading the specified file from the FTP Server," do you mean that there is a client application that uses a web service to send the required filename to a machine that hosts the web service and part of the underlying code on the web service server is to perform the FTP process itself or is the FTP component in a client application itself and the web service just provides the filename that the client application with the FTP component needs to download? Sorry for difficulty, but we need to make certain that we have an accurate picture of the process so we can identify the problem.
roballen

From: sydney, Australia
Posts: 6
Member Since: 06/20/02
posted June 21, 2002 9:25 AM

Hi Alex,

I had a little difficulty understanding your question, so I thought I'd just give you a step-by-step explanation on what we are trying to do.

For this explanation, lets say we have 51 machines, 1 server, and 50 client machines. All of the machines are running Windows XP.
The server contains the files to be downloaded, and is the FTP server itself.
The 50 client machines contain a client application, as well as a few web service calls.

We are writing an application which performs the following steps.

1. The server gets a new file from an external source which needs to be sent to one of the client machines.

2. Using a web service call to a client machine, the server tells the client machine to download this new file.

3. The Web service method on the client machine invokes the FTP for .NET component, which downloads the file from the server (which is also the calling machine).

4. The client app running on the client machine realises that a file has arrived, and performs some tasks on it.

If we take the web service out of the loop, and instead put the ftp in the client application (written in C#), then it all works fine. However it is essential that this task is automated. As soon as we take the ftp transfer out of the C# program, and instead put it in a Web Service, we have a license issue.

I hope this makes things a little clearer.

Thanks,
Robert.
Alex Gladshtein



From: Rome, NY USA
Posts: 131
Member Since: 12/27/00
posted June 21, 2002 9:43 AM

Hello Robert,

I think where I am misunderstanding is the client application. When I consider how a web service operates, a web service consumer application uses a proxy class to communicate with the service just like it would with a local object. The class is instantiated, a method is called, and that method request is sent over HTTP to the service host which in turn responds with the method return value. Is your client an exe or dll? If the client is a compiled app, the FTP license is compiled into the code. It shouldn't matter what the FTP component is doing in the app.

Thanks,
Alex
roballen

From: sydney, Australia
Posts: 6
Member Since: 06/20/02
posted June 21, 2002 9:53 AM

Hi Alex,

The client application has nothing to do with the FTP component. The web service and client app are two totally separate objects, and don't communicate in any way. The web service is responsible for copying the file locally. The client app just polls a directory, and performs it's tasks when a file appears there.
The FTP component is compiled in a DLL which is called by an ASP.NET web service.

As a test, the FTP component was compiled in with the client app, and it worked fine. But this is not our final solution. It needs to be in an ASP.NET web service, which currently causes the licensing issues.

Thanks
Robert.
Alex Gladshtein



From: Rome, NY USA
Posts: 131
Member Since: 12/27/00
posted June 21, 2002 10:08 AM

Robert,

Who is physically hosting the web service that contains the FTP component? Is the server instantiating a proxy class of the service that is actually being hosted on a client, which in turn downloads the file to that local machine(the machine which is also hosting the service)?

Thanks,
Alex
roballen

From: sydney, Australia
Posts: 6
Member Since: 06/20/02
posted June 21, 2002 10:13 AM

Hi Alex,

To put it in one word: Yes. The machine running the web service downloads the file locally using the FTP component. No other machines are involved, except the server which calls the web service and hosts the file.

Thanks,
Robert
Alex Gladshtein



From: Rome, NY USA
Posts: 131
Member Since: 12/27/00
posted June 21, 2002 1:29 PM

Hello Robert,

After some digging I think we have found the issue. There are a couple of known licensing bugs in the Microsoft component licensing model. It looks like we have stumbled on another one. If a licensed component is used in a dll and compiled, the right licensing classes are never called when the object get instantiated, and the failure results in a trial message. We will discuss this with Microsoft, but in the mean time our developers will look at a workaround. It will probably take about a couple of weeks, but we plan to create a secondary license file that you will be able to distribute and our component will check that encrypted file for the right licensing info in case of a failure. Sorry for the hassles.

Regards,

Alex
Reply | PowerTCP FTP for .NET Topics | Forums   
This site is powered by PowerTCP WebServer Tool PowerTCP WebServer for ActiveX