[php] Unit4 Business Connector + DCOM

Pagina: 1
Acties:
  • 178 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Doel:
Verbinding maken met de Unit4 Multivers applicatie dmv de Business Connector mbv de DCOM functionaliteit van PHP.

Probleem:
Krijg de melding "Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `MBO.Administration': Klasse is niet geregistreerd".

Wat gedaan:
Ik heb met dcomcnfg.exe de objecten iedereen, network, system en interactive volledig beheer gegeven en ik heb COM aangevinkt. Daarnaast heb ik regsvr32.exe c:\winnt\ubcnnnn.dll gedaan.

Als ik COM ipv DCOM gebruik, werkt het zoals verwacht. Gebruik ik echter de DCOM, dan krijg ik bovenstaande foutmelding. Nu levert PHP op zich geen DCOM problemen, het zit 't 'm dus in de Business Connector.

Verder heb ik verschillende PHP versies geprobeert, via apache en/of CLI.

Vraag:
Heeft iemand misschien een idee waar ik zou kunnen zoeken, of is dit gewoon een hopeloos geval?

B.v.d Roel Bruggink

---------------------------
Testcode:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$server = '127.0.0.1'; // DCOM
//$server = null; // COM
try
{
// Administratie openen
$_objAdmin = new COM("MBO.Administration", $server) or die('error');
$_objAdmin->Connect("MVL99999", "SYSTEEM", "");

// haal een enkel debiteur op
$deb = new COM("MBO.Customer", $server);
$deb->connect($_objAdmin);
$deb->load(1001);
var_dump($deb->Organization->ShortName);
}
catch(com_exception $e)
{
    var_dump($e);
}

Exception vardump:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
object(com_exception)#2 (6) {
  ["message:protected"]=>
  string(80) "Failed to create COM object `MBO.Administration': Klasse is niet g
eregistreerd
"
  ["string:private"]=>
  string(0) ""
  ["code:protected"]=>
  int(-2147221164)
  ["file:protected"]=>
  string(40) "c:\apache\htdocs\unit4_koppeling\tst.php"
  ["line:protected"]=>
  int(10)
  ["trace:private"]=>
  array(1) {
    [0]=>
    array(6) {
      ["file"]=>
      string(40) "c:\apache\htdocs\unit4_koppeling\tst.php"
      ["line"]=>
      int(10)
      ["function"]=>
      string(3) "com"
      ["class"]=>
      string(3) "com"
      ["type"]=>
      string(2) "->"
      ["args"]=>
      array(2) {
        [0]=>
        string(18) "MBO.Administration"
        [1]=>
        string(9) "127.0.0.1"
      }
    }
  }
}

[ Voor 13% gewijzigd door Verwijderd op 07-03-2005 13:42 ]


Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 19:07

alienfruit

the alien you never expected

Heb je ook de com-objecten geregistreerd via regsvr32.exe ofzoiets?

[ Voor 4% gewijzigd door alienfruit op 07-03-2005 13:38 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb regsvr32.exe c:\winnt\ubcnnnn.dll gedaan, zou goed moeten zijn volgens mij. Bovendien werkt alles wel via COM.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Zou het kunnen zijn dat de unit4 business connector niet werkt als je via DCOM op localhost probeert te connecten...