Loading ...
Sorry, an error occurred while loading the content.

Problem accessing file with com

Expand Messages
  • Joao Paulo Rodrigues
    Hello, I must use a specific COM to control Hardware. I need to create a WEBService to give access to the COMs functionalities. Because COM s functionalities
    Message 1 of 3 , Sep 2, 2003
    • 0 Attachment
      Hello,
      I must use a specific COM to control Hardware. I need to create a
      WEBService to give access to the COMs functionalities. Because COM's
      functionalities are too low level, i've created a AcTiveX DLL, that
      provide HIgher level service through the webservice.

      My problem is that COM must access files on disk. Using the DLL+COM
      with the webservice, COM can't acess files on disk, but if directly
      called from function on the DLL, the same files can be accessed.

      If instead of a webservice, i use a VB aplication to invoque the DDL
      fuctions that encapsulate COM funcionalities, all works fine. Note
      that no change was made to either DLL or COM

      +-----------+
      |Webservice |
      +-----------+
      |
      v
      +-----------+ OK
      | My DLL |---------------------+
      +-----------+ |
      | |
      v |
      +-----------+ FAIL V
      | Prop COM | -------X--------> Files
      +-----------+


      Does anyone had this problem before?
      Any ideas on what may be causing the problem, and how to solve it?

      Thanks
    • AntEpatic
      Hi Paulo it seems it s a security problem. Try to create a Server Package on your W2000 server using the Component Manager then assign to it a specific
      Message 2 of 3 , Sep 2, 2003
      • 0 Attachment
        Hi Paulo
        it seems it's a security problem.

        Try to create a Server Package on your W2000 server using the Component
        Manager
        then assign to it a specific Identity (Windows logon) which has
        authorisations in writing data.
        Then put your DLL inside that package and it should work...



        ----- Original Message -----
        From: "Joao Paulo Rodrigues" <jpr@...>
        To: <soap-newbies@yahoogroups.com>
        Sent: Tuesday, September 02, 2003 12:29 PM
        Subject: [soap-newbies] Problem accessing file with com


        > Hello,
        > I must use a specific COM to control Hardware. I need to create a
        > WEBService to give access to the COMs functionalities. Because COM's
        > functionalities are too low level, i've created a AcTiveX DLL, that
        > provide HIgher level service through the webservice.
        >
        > My problem is that COM must access files on disk. Using the DLL+COM
        > with the webservice, COM can't acess files on disk, but if directly
        > called from function on the DLL, the same files can be accessed.
        >
        > If instead of a webservice, i use a VB aplication to invoque the DDL
        > fuctions that encapsulate COM funcionalities, all works fine. Note
        > that no change was made to either DLL or COM
        >
        > +-----------+
        > |Webservice |
        > +-----------+
        > |
        > v
        > +-----------+ OK
        > | My DLL |---------------------+
        > +-----------+ |
        > | |
        > v |
        > +-----------+ FAIL V
        > | Prop COM | -------X--------> Files
        > +-----------+
        >
        >
        > Does anyone had this problem before?
        > Any ideas on what may be causing the problem, and how to solve it?
        >
        > Thanks
        >
        >
        >
        > To unsubscribe from this group, send an email to:
        > soap-newbies-unsubscribe@yahoogroups.com
        >
        >
        >
        > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
        >
        >
      • Jesse Taylor
        Hello Joao At a glance, I believe that your problem is most likely a permissions issue. When running under IIS (ie, a webservice), your COM object is running
        Message 3 of 3 , Sep 2, 2003
        • 0 Attachment
          Hello Joao

          At a glance, I believe that your problem is most likely a permissions issue.
          When running under IIS (ie, a webservice), your COM object is running under
          the IIS default user account, which probably does not have access to the
          folder or file system. When being run from an executable, it runs under the
          current logged-in user account, which has adequate permissions.

          Maybe somebody can correct me, but IIS does operate under some tight
          restrictions in order to try and keep our systems safer from viruses and
          hackers and the like. But it does add a confusing and largely unmentioned
          layer of complication to our development.

          I am not necessarily knowledgeable enough to provide you with your solution,
          which might depend on your OS anyways (NT/2K/? Com+?), but I will dump out
          some thoughts that might get you on your way:

          1) In W2K/COM+, you have the option to choose what account an installed COM
          object will run under. You have to change the object to run out-of-process
          however, which might not be ideal for you.

          2) You may be able to give permissions to the default account that IIS is
          already using for your object. This option is always less desirable,
          because I believe that it is basically undermining security.


          Again, I am no expert in this area, perhaps somebody else can provide some
          corrections. Hopefully this helps.


          - Jesse Taylor




          > -----Original Message-----
          > From: Joao Paulo Rodrigues [mailto:jpr@...]
          > Sent: Tuesday, September 02, 2003 6:29 AM
          > To: soap-newbies@yahoogroups.com
          > Subject: [soap-newbies] Problem accessing file with com
          >
          >
          > Hello,
          > I must use a specific COM to control Hardware. I need to create a
          > WEBService to give access to the COMs functionalities. Because COM's
          > functionalities are too low level, i've created a AcTiveX DLL, that
          > provide HIgher level service through the webservice.
          >
          > My problem is that COM must access files on disk. Using the DLL+COM
          > with the webservice, COM can't acess files on disk, but if directly
          > called from function on the DLL, the same files can be accessed.
          >
          > If instead of a webservice, i use a VB aplication to invoque the DDL
          > fuctions that encapsulate COM funcionalities, all works fine. Note
          > that no change was made to either DLL or COM
          >
          > +-----------+
          > |Webservice |
          > +-----------+
          > |
          > v
          > +-----------+ OK
          > | My DLL |---------------------+
          > +-----------+ |
          > | |
          > v |
          > +-----------+ FAIL V
          > | Prop COM | -------X--------> Files
          > +-----------+
          >
          >
          > Does anyone had this problem before?
          > Any ideas on what may be causing the problem, and how to solve it?
          >
          > Thanks
          >
          >
          > ------------------------ Yahoo! Groups Sponsor
          > ---------------------~-->
          > Buy Ink Cartridges or Refill Kits for Your HP, Epson, Canon or Lexmark
          > Printer at Myinks.com. Free s/h on orders $50 or more to the
          > US & Canada. http://www.c1tracking.com/l.asp?cid=5511
          > http://us.click.yahoo.com/l.m7sD/LIdGAA/qnsNAA/W6uqlB/TM
          > --------------------------------------------------------------
          > -------~->
          >
          > To unsubscribe from this group, send an email to:
          > soap-newbies-unsubscribe@yahoogroups.com
          >
          >
          >
          > Your use of Yahoo! Groups is subject to
          > http://docs.yahoo.com/info/terms/
          >
          >
        Your message has been successfully submitted and would be delivered to recipients shortly.