2017-06-19 3 views
1

J'essaie d'utiliser SAP DI API pour SAP B1 avec PHP.Classe non enregistrée COM DI API PHP

J'utilise un objet COM comme ceci:

<?php 
try 
{ 
    $CompDI = new COM("SAPbobsCOM.Company"); 
    $CompDI->server = "193.0.0.241\SAP"; 
    $CompDI->CompanyDB = "Company_Test"; 
    $CompDI->username = "username"; 
    $CompDI->password = "password"; 
    $ReturnCode = $CompDI->Connect; 
    echo $CompDI->CompanyName; 
} 
catch(Exception $e){ 
    echo $e->getMessage(); 
} 
?> 

Mais je suis arrivé cette erreur:

Impossible de créer l'objet COM `SAPbobsCOM.Company ': Classe non enregistré

Si je change l'orthographe de "Société", j'ai cette erreur:

Impossible de créer l'objet COM `de SAPbobsCOM.Company ': syntaxe incorrecte

Je pense donc qu'il trouve la classe mais ne peut pas le charger, j'ai pas idée d'où le problème est venu de ..

Merci d'avance!

+0

Courez-vous cette application dans un système où les classes API DI Com sont correctement enregistrées? OU le client SAP B1 [32/64 bits] correct est installé – Hybridzz

+0

Oui DI Api est configuré et SAP B1 également –

+0

D'accord, vous devez vous assurer que votre pool d'applications Web autorise les applications 32 bits si votre application est en 32 bits. Je veux dire dans IIS je reçois cette erreur quand ce n'est pas configuré. – Hybridzz

Répondre

0

J'ai vu ces erreurs dans les cas suivants, s'il vous plaît vérifier l'un de ceux-ci vous aide ou non.

  1. API DI et le client SAP B1 pas installé
  2. application est de 32 bits, mais l'API DI/Client installé est 64bit ou vice versa
  3. application est 32 bits et pool d'applications Web n'est pas activé avec 32- bit applications

enter image description here