Home | Forums | Contact | Search | Syndication  
 
 [login] [create account]   Tuesday, April 23, 2024 
 
slxdeveloper.com Community Forums  
   
The Forums on slxdeveloper.com are now retired. The forum archive will remain available for the time being. Thank you for your participation on slxdeveloper.com!
 Web Forums - ASP/ASP.NET/Web Services/Other
Forum to discuss building external web applications for SalesLogix. View the code of conduct for posting guidelines.
Forums RSS Feed


 Back to Forum List | Back to ASP/ASP.NET/Web Services/Other | New ThreadView:  Search:  
 Author  Thread: An issue of web service after upgrading form Lan 7.0.1 to Lan 7.5
Jordan
Posts: 61
 
An issue of web service after upgrading form Lan 7.0.1 to Lan 7.5 Your last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 28 Jul 11 5:00 PM
fiogf49gjkf0d

Our old SLX system is Lan 7.0.1. It was upgraded to Lan 7.5.


We have a .net web service which is a SLX third party application for manipulating the SalesLogix database. The web service is located on the SalesLogix server as well.


We have the other web server. An aspx  web page consumes the web service to manipulate the SLX database.


Before upgrading the system, everything worked well. But as soon as it was upgraded to 7.5, when I requested the page again, it crashed. The error message was:  Server was unable to process request. ---> Unable to initialize data dictionary.


I will appreciate it if you could give me some advices.

[Reply][Quote]
Raul A. Chavez
Posts: 1300
Top 10 forum poster: 1300 posts
 
Re: An issue of web service after upgrading form Lan 7.0.1 to Lan 7.5 Your last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 28 Jul 11 6:09 PM
fiogf49gjkf0d

Which Server issues the Error?


Unable to Initialize data dictionary is typically issued by the SLX OLEDB Provider.


It could be that the Provider was installed (and used) from the second web server and wasn't upgraded.


Or, it could be that (specially if you by any chanced renamed the DB Alias) the Connection String needs to be reconfigured.

[Reply][Quote]
Jordan
Posts: 61
 
Re: An issue of web service after upgrading form Lan 7.0.1 to Lan 7.5 Your last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 04 Aug 11 9:43 AM
fiogf49gjkf0d

Thanks Raul.


Here is our case. It worked well before our system was upgraded from Lan 7.0.1 to 7.5.3


On the SalesLogix Server:
(1) SalesLogix Server has been installed and upgraded to 7.5.3
(2) Web Service resides on the SalesLogix Server  
The web service was developed by asp.net (C# and Visual Studio 2005). The web service is a Windows-Authentication-based one.
The web service includes some functions, one of which is as follows:


[WebService(Namespace = "SLXIntegration")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class IntegrationWithSLX : System.Web.Services.WebService


{


    …… //Something else
 


    [WebMethod]


    public object GetValueFromSLX(string strSql, string strConn)


    {


        object objReturnValue;


        OleDbConnection connTemp = new OleDbConnection(strConn);


        OleDbCommand cmdTemp = new OleDbCommand(strSql, connTemp);


        connTemp.Open();


        objReturnValue = cmdTemp.ExecuteScalar();


        if (objReturnValue is System.DBNull)


        {
            objReturnValue = "";
        }



        if (connTemp.State == ConnectionState.Open)


        {
            connTemp.Close();
        }


        connTemp = null;
        cmdTemp = null;


        return objReturnValue;


    }


    …… //Something else


}


On the other separate Web Server:
The Proxy of the web service was deployed to a separate web server. On the web server, there is our asp.net application and we have some aspx pages which manipulate the SalesLogix database through the Web Service on the SLX server. One consuming snippet is as follows:



…… //Something else



this.strConnectionStringToSLX = WebConfigurationManager.AppSettings["strConSLX"];
protected WSCCIntegrationWithSLX.IntegrationWithSLX wstest;    //WSCCIntegrationWithSLX.IntegrationWithSLX -- the Proxy class


System.Net.ServicePointManager.CertificatePolicy = new CareerCruisingWeb.CCLib.SLXIntegration.TrustAllCertificatePolicy();  //For SSL validation


wstest = new WSCCIntegrationWithSLX.IntegrationWithSLX();


System.Net.NetworkCredential userCredential = new System.Net.NetworkCredential("xxxxxx", "yyyyyy");  //Please see Note (3)


wstest.Credentials = userCredential;


wstest.PreAuthenticate = true;


object objLicenseType = wstest.GetValueFromSLX(this.GetSLXSQLSelectLicenseType(), this.strConnectionStringToSLX); 
//This is the clause where page crashes
//The error message is: Server was unable to process request. ---> Unable to initialize data dictionary.


…… //Something else


Note:
(1) this.strConnectionStringToSLX
In the Web.config file, there is a key:


<add key="strConSLX" value="Provider=SLXOLEDB.1; Password=vvvvvv; Persist Security Info=True;User ID=uuuuuu;Initial Catalog=SALESLOGIX;Data Source=SLXS_SERVER_NAME"/>


User ID=uuuuuu and Password=vvvvvv are the Username and Password of a SLX account.


(2) this.GetSLXSQLSelectLicenseType()
private string GetSLXSQLSelectLicenseType()
{
    StringBuilder tempStringBuilder = new StringBuilder();
    tempStringBuilder.Append("SELECT LICENSETYPE FROM ACCWEBACCESS WHERE SCHOOLID = ");
    tempStringBuilder.Append(SchoolID);


    return tempStringBuilder.ToString();
}


ACCWEBACCESS is an added custom SLX table.


(3) System.Net.NetworkCredential userCredential = new System.Net.NetworkCredential("xxxxxx", "yyyyyy");
xxxxxx/yyyyyy is the Username/Password of the system of SLX server on which the web service resides. It had been the member of Administrators Group and used to do Windows-Authentication when get into the IIS of SLX Server.


It looks like the problem is here. After the SLX was upgraded from 7.0.1 to 7.5.3, something conflict between SalesLogix OLE DB Provider/IIS/WebDll? and the Windows-Authentication account.


Any thoughts?

[Reply][Quote]
Raul A. Chavez
Posts: 1300
Top 10 forum poster: 1300 posts
 
Re: An issue of web service after upgrading form Lan 7.0.1 to Lan 7.5 Your last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 04 Aug 11 4:57 PM
fiogf49gjkf0d

Back to basics:


  The error message you get is: Unable to initialize data dictionary.
  That error message typically means that the OLEDB Provider was not able to open a Connection to the SalesLogix Database (this is typically related to the actual SQL connection that the provider creates to connect to the DB).


 


  That said, your Web Service is running with a specific user. So, this would be what I would try first:


  - On the SLX Server, log in with a user you typically log in to do SLX Maintenance/Administrative work and that can open the SLX Admin tool.


  - Create an UDL file and configure it (based on the same parameters that your connection string includes), then Test the connection.


 - This connection should be succesful  (If not, let me know that this connection failed, and what exact error you got)


 


  - On the SLX Server, log in with the User that your Web Service executes as.


  - Create an UDL file and configure it (based on the same parameters that your connection string includes), then Test the connection.


  - If it fails, then it is likely that the Web Service account doesn't have rights to connect to the SQL Server


  - If it works, Save the UDL file (including the Password), then Open it on Notepad and use the generated connection string to call SLX with (including the Extended Properties).


 

[Reply][Quote]
Jordan
Posts: 61
 
Re: An issue of web service after upgrading form Lan 7.0.1 to Lan 7.5 Your last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 05 Aug 11 12:19 PM
fiogf49gjkf0d

Thanks Raul.


Based on our case:


==


<add key="strConSLX" value="Provider=SLXOLEDB.1; Password=vvvvvv; Persist Security Info=True;User ID=uuuuuu;Initial Catalog=SALESLOGIX;Data Source=SLXS_SERVER_NAME"/>



==


wstest = new WSCCIntegrationWithSLX.IntegrationWithSLX();


 


System.Net.NetworkCredential userCredential = new System.Net.NetworkCredential("xxxxxx", "yyyyyy");  //Please see Note (3)wstest.Credentials = userCredential;


Note(3): System.Net.NetworkCredential userCredential = new System.Net.NetworkCredential("xxxxxx", "yyyyyy");
xxxxxx/yyyyyy is the Username/Password of the system of SLX server on which the web service resides. It had been the member of Administrators Group and used to do Windows-Authentication when get into the IIS of SLX Server.


==


As you suggested, I logged in the SLX Server with xxxxxx/yyyyyy, and then used udl with uuuuuu/vvvvvv to connect the SLX and it was successful. The connection string is the same as key="strConSLX" except the Extended Properties. I appended the Extended Properties and run the consuming page, but still got the same error meassage. How/What will we try next step?


BTW, I found a clue in this forum http://www.slxdeveloper.com/forum.aspx?forumid=4001&postid=22225    That case looks similar to ours. What do you think about that? How do we realize that workaround?


Thanks again.

[Reply][Quote]
Raul A. Chavez
Posts: 1300
Top 10 forum poster: 1300 posts
 
Re: An issue of web service after upgrading form Lan 7.0.1 to Lan 7.5 Your last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 05 Aug 11 12:25 PM
fiogf49gjkf0d

When the Web Service runs, are you certain that it is running under that account?


Also, at the time that you get this error, what account is the "SlxSystem.exe" process executing as?


Is the SLX System running as a Service? If so, what account is it utilizing? I would verify that it is setup as a Service and that it runs with the Same Credentials as the Web Service.


 

[Reply][Quote]
Jordan
Posts: 61
 
Re: An issue of web service after upgrading form Lan 7.0.1 to Lan 7.5 Your last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 07 Aug 11 12:50 PM
fiogf49gjkf0d

When the Web Service runs, are you certain that it is running under that account?


How do you check?


Also, at the time that you get this error, what account is the "SlxSystem.exe" process executing as?


How do you check?


Is the SLX System running as a Service? If so, what account is it utilizing? I would verify that it is setup as a Service and that it runs with the Same Credentials as the Web Service.


I don't remember if I set  the SLX System running as a Service, but the "SalesLogix System Service" started, which is showed up in the Services. That means the SLX System is running as a Service?


How do you chack?

[Reply][Quote]
 Page 1 of 1 
  You can subscribe to receive a daily forum digest in your user profile. View the site code of conduct for posting guidelines.

   Forum RSS Feed - Subscribe to the forum RSS feed to keep on top of the latest forum activity!
 

 
 slxdeveloper.com is brought to you courtesy of Ryan Farley & Customer FX Corporation.
 This site, and all contents herein, are Copyright © 2024 Customer FX Corporation. The information and opinions expressed here are not endorsed by Sage Software.

code of conduct | Subscribe to the slxdeveloper.com Latest Article RSS feed
   
 
page cache (param): 4/23/2024 8:25:54 PM