on 08-27-2008 10:27 AM
hi, i have a little web-application, that connects to the SAP-Db via DIApi.
it worked fine on the test-server, but now in the live-environment it crashes from time to time (i can't login and get the error message mentioned above).
After a restart of the IIS it works again.
What can it be? Has anyone had the same problem?
best regards
Philipp
HI,
Use dedicated username and password for database. Afterwards it must have to work.
And most important thing: Disconnect at the end.
On Development environment you user is running the IIS (XP). ON Live content, the IIS is running by localsystem account, so must have to be DCOM rights on it.
I have same problems on 2004 versions, but the DCOM rigths has been the problem.
regards.
J.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
HI,
Even is sometime works, sometime not, it wont be an rights of d-com component.
If you are using W2003 SP1 server see note: 833798
Make sure, you cleared the windows\temp directory .... this is for ASP.NET and IIS puts the DI api connections there (SM_OBS_DLL directory).
is the licence server is located in the same machine ?
regards,
J.
HI,
This directory contains the observer.dll (business logic) and all the connections information of DI API.
Sometimes this is the source of the mistakes.
Even the the following criterias are ok, it must have to work:
1. dbusername and dbpassword, dbservertype and usetrusted=false are set up, and db user can connect
2. sbo user has a license to access (ADDON license)
3. DCOM configuration has been set up for license (only case of w2003 SR1/SR2 server) by the sap note i have already mentioned
4. same DI API version running as in test environment
5. IIS restarted
After this, for me 2004C and 2007A versions are running and working fine.
regards,
J.
So,
Sorry, i did not have so many time to think this over...
Now it is better. I have thinked and ....
I am would continue the authorization line, because my experience (i have written web applications for B1 and webshops) says this. Even in the development environment it is going fine, and in the go live environment could be different from tests....
If your test environment was your PC and IIS, or VS2005, in this case the IIS was running under your account.
Now the iis is running in the name of localsystem or network service account, so it must have to be also enabled to access license and configured for dcom security.
This means, that Network service / Interactive / Self and SYSTEM users must have to be accessed to DI API in DCOM config of the running machine. Without this, it will not work.
I have found my documentation:
1.2.1 Configuring COM Security
Follow the outlined steps below to configure COM Security to work with the Business One DI API.
1.2.1.1 Windows 2003 Server Instructions
(For Windows XP or Windows 2000 instructions see section 1.2.1.2)
In Windows, click on Start > Control Panel > Administrative Tools > Component Services.
Under Console Root click once on Component Services.
A folder called Computers will appear on the right. Double-click on it.
An icon labeled My Computer will appear in the same window. Right click on it and select Properties.
Click on the Default COM Security tab.
Under the section labeled Access Permissions click on Edit Default.
u2022 Within the Group or User Name area, the following groups should appear: Network Service, Interactive, Self, and System. Click on each of these groups to assure that Allow is selected for everything under the Permissions area. If any of these groups are missing, follow the directions below:
u2022 Click Add.
u2022 Type "YOUR MACHINE NAME\network service". (Substitute "YOUR MACHINE NAME" with the webserveru2019s name. Do not use quotes.)
u2022 Click Check Names.
u2022 Click OK.
u2022 Click Add.
u2022 Type "interactive" (without quotes).
u2022 Click Check Names.
u2022 Click OK.
u2022 Double-check to make sure Allow is checked for all permissions. Click OK when finished.
Select Edit Default in the Launch Permissions section.
Under Group or User Names, the selections Network Service, Interactive, Self, and System should be available. If any are not, follow these steps:
u2022 Click Add.
u2022 Type "YOUR MACHINE NAME\network service". (Substitute "YOUR MACHINE NAME" with your the webserveru2019s name. Do not use quotes.)
u2022 Click Check Names.
u2022 Click OK.
u2022 Click Add.
u2022 Type "interactive" (without quotes).
u2022 Click Check Names.
u2022 Click OK.
u2022 Double-check to make sure Allow is checked for all permissions. Click OK when finished.
Select each user in the Group or User Name window and assure Allow is selected for all Permissions in the window located below them.
Back in the My Computer Properties screen select the Default Properties tab.
Place a check in the Enable Distributed COM on this Computer selection.
Place a check in the Enable COM Internet Services on this Computer selection.
Under Default Authentication Level, click the drop-down arrow and select Connect.
Under Default Impersonation Level, click the drop-down arrow and select Identify.
Click OK.
Close the Component Services window and reboot your system.
1.2.1.2 Windows XP and 2000 Installation
In Windows, click on Start > Control Panel > Administrative Tools > Component Services.
Under Console Root click once on Component Services.
A folder called Computers will appear on the right. Double-click on it.
An icon labeled My Computer will appear in the same window. Right click on it and select Properties.
Click on the COM Security tab.
Under the section labeled Access Permissions click on Edit Default.
Within the Group or User Name area, the following groups should appear: ASP.NET, Interactive, Self, and System. Click on each of these groups to assure that Allow is selected for everything under the Permissions area. If any of these groups are missing, follow the directions below:
u2022 Click Add.
u2022 Type "YOUR MACHINE NAME\ASPNET". (Substitute "YOUR MACHINE NAME" with the webserveru2019s name. Do not use quotes.)
u2022 Click Check Names.
u2022 Click OK.
u2022 Click Add.
u2022 Type "interactive" (without quotes).
u2022 Click Check Names.
u2022 Click OK.
u2022 Double-check to make sure Allow is checked for all permissions. Click OK when finished.
Select Edit Default in the Launch Permissions section.
Under Group or User Names, the selections ASP.NET, Interactive, Self, and System should be available. If any are not, follow these steps:
u2022 Click Add.
u2022 Type "YOUR MACHINE NAME\ASPNET". (Substitute "YOUR MACHINE NAME" with the webserveru2019s name. Do not use quotes.)
u2022 Click Check Names.
u2022 Click OK.
u2022 Click Add.
u2022 Type "interactive" (without quotes).
u2022 Click Check Names.
u2022 Click OK.
u2022 Double-check to make sure Allow is checked for all permissions. Click OK when finished.
Select each user in the Group or User Name window and assure Allow is selected for all Permissions in the window located below them.
Back in the My Computer Properties screen select the Default Properties tab.
Place a check in the Enable Distributed COM on this Computer selection.
Place a check in the Enable COM Internet Services on this Computer selection.
Under Default Authentication Level, click the drop-down arrow and select Connect.
Under Default Impersonation Level, click the drop-down arrow and select Identify.
Click OK.
Close the Component Services window and reboot your system.
regards,
J.
HI,
I think this cannot be a problem, But you can try :
1. separate user addon an add-on access license ...
2. For determining a this, log on more than 2 times (2 is accepted by SAP for One user to the same company, ) I think this could not be a problem, but god knows....
In the IIS settings did you created an application pool for the website? and destructor is really implemented? (ocompany.disconnect, ect).
Regards,
J.
Hi Janos,
I have the same problem with the DI-API
-111 Failed to Connect to SBOCommon
I did everything that suggests, but the problem persists
with other application in VBasic, I dont' have problem and oCompany connects successfully.
I try
oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2005
oCompany.Server = "SERVERNAME"
oCompany.CompanyDB = "COMPANYDB"
oCompany.UserName = "UserCompany"
oCompany.Password = "PassCompany"
oCompany.UseTrusted = True
and
oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2005
oCompany.Server = "SERVERNAME"
oCompany.LicenseServer = "SERVERNAME:30000"
oCompany.CompanyDB = "CompanyDV"
oCompany.UserName = "Manager"
oCompany.Password = "PasswordCompany"
oCompany.language = SAPbobsCOM.BoSuppLangs.ln_English
oCompany.DbUserName = "UserDB"
oCompany.DbPassword = "PasswordDB"
oCompany.UseTrusted = False
Win 2003 Server SP2
SAP2007 PL 35
what is the problem ?
thanks in advance
PD: in WinXP connects successfully
HI
Have Everybody done the suggested dcom config security stuffs (see above in the message)?
For me working fine.
Please note: On XP, you are local administrator. And the IIS is running as the user you have logged on.
see the following notes:(S user is required)
743338,870674
For Microsoft, see the following link to configure the pool of the application
Regards,
J.
I am trying B1WS and meet the same problem.
I got 3 machines:
A machine, I have IIS,DI_server, B1WS run on it.
B machine, with SBO and database.
C machine, the SBO license server.
when I run WsdlServicesGenerator.exe on A to regenerate wsdl files, according to the database on B, I caught error "111 Failed to Connect to SBOCommon".
here is my input for WsdlServicesGenerator.exe :
database server : 192.168.0.208 //this is the ip of B
database name: test02
database type: dst_MSSQL2005
database username: sa
database password: 1234
company username: manager
company password: manager
language: ln_English
license server: 192.168.0.102:30000 //points to C
please help me.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
100 | |
11 | |
11 | |
6 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.