Link to home
Start Free TrialLog in
Avatar of ChadMarsh
ChadMarshFlag for United States of America

asked on

Crystal connection issues with a dataset provided by a dll

Hello,
I'm consuming a web service with in a dll that has a public function that returns a dataset.
I'm trying to connect to it with Crystal Crystal reports. I'm pretty sure the "Double Hop" rule while passing my credentials is causing me grief even though I'm supplying a NetworkCredential. If I reference the dll in a test project it brings back the data, but when I try to connect to it with Crystal I get "logon failed  Details:mscorlib : Exception has been thrown by the target of an invocation.
Any ideas on how to get a around this would be appreciated.

Here is my class from within the dll:
public class cEntry
    {
        private EntryWrapper.entry.Service1  t = new EntryWrapper.entry.Service1();
        DataSet relational_data;

        public DataSet tickets()
        {
            string u = ConfigurationManager.AppSettings["user"];
            string p = ConfigurationManager.AppSettings["pass"];
            string d = ConfigurationManager.AppSettings["domain"];
            t.Credentials = new System.Net.NetworkCredential(u, p, d);//Send credentials
            string strWeb = t.ReportTest("F241A905-89B1-416d-8DC2-8C2EA1A6B434", ""); //Get xml string from Entry

            XmlDocument doc = new XmlDocument();
            string inputXml = strWeb;
            doc.LoadXml(inputXml);
           
            XslCompiledTransform xslTransform = new XslCompiledTransform(false);
            xslTransform.Load(XmlReader.Create(new StringReader(Resource.ticket))); //Load xlst string to the transform object
            StringBuilder result = new StringBuilder();
            XmlWriter output = XmlWriter.Create(result);
            xslTransform.Transform(doc, output); //Apply xlst to the xml file
            XmlTextReader xml_reader = new XmlTextReader(new StringReader(result.ToString())); //read the file and convet to xml

            relational_data = new DataSet();
         
            relational_data.ReadXml(xml_reader);
            return relational_data;
        }

ASKER CERTIFIED SOLUTION
Avatar of Marcus Aurelius
Marcus Aurelius
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of ChadMarsh

ASKER

Hi There, Thanks for posting. I was beginning to think that nobody want to touch this one.
Crystal is on the same server. Actually that server has the Business View Manager, Crystal Report Server and Crystal Developer.  They run on a separate drive though.  I has Crystal on the phone yesterday and they seemed to be scratching their head over it.  The data that I'm pulling is from a proprietary database that Team Headquarters Entry uses. It's all XML based so the web service was the easiest way to get the data. I went one step further and bypassed the webservice and queried the data directly from the dll. Same error, unfortunately.  I re-opened my ticket with Crystal.  
The other strange thing that the Crystal support rep had be do was connect to my local copy of the dll and create a report. That worked. Then switch the datasource to the network copy of the dll. That worked. The only problem is when you save the report and exit, you get the error when you try to open it again.
Chad
Well, I ended up writing a script component in an SSIS. I'm just going to put the data into SQL and report off of that. Thanks for the reply though