cancel
Showing results for 
Search instead for 
Did you mean: 

Webserver - "Failed to Connect to SBOCommon -111"

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

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.

Former Member
0 Kudos

hi, what do you mean with dcom rights?

Former Member
0 Kudos

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.

Former Member
0 Kudos

hi, when do i have to clear this directory and what for?

yes, the license server is on the same machine?

can the number of clients be a problem which connect at the same time?

Former Member
0 Kudos

HI,

License server on the same machince, i there is a B1 client, logon, and check the license (add-on license)

from \windows\TEMP directory delete the SM_OBS_DLL directory (DI API using this) or look for DI API files.

Regards,

J.

Former Member
0 Kudos

yeah, i cleared the directory, but what is this for?

Former Member
0 Kudos

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.

Former Member
0 Kudos

ok, well.

the problem i have is, that i cannot reproduce the error.

i only get the error messages from the customer and then i can't log in either.

so, we will see if it helped.

but thank you!

Former Member
0 Kudos

HI,

Send me an empty mail, i will attach a docu back to config !

Regards,

J.

Former Member
0 Kudos

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.

Former Member
0 Kudos

Hi Janos,

yeah i did all that. But it crashes after a time. And i don't can't reproduce it.

What can it be? The customer says, it occurs, when more user are logged it.

i make the connection with the manager user. is this a bad idea?

Former Member
0 Kudos

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.

Former Member
0 Kudos

no, i use the default application pool and don't have a destructor.

??

Former Member
0 Kudos

how can i create an destructor in asp.net?

Former Member
0 Kudos

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

Former Member
0 Kudos

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

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/b2657856-7e5c-45c7-a97b-8...

Regards,

J.

Former Member
0 Kudos

Thank you Lanos

I don't find where configure the pool of the application

¿

Answers (1)

Answers (1)

Former Member
0 Kudos

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.