Showing posts with label calls. Show all posts
Showing posts with label calls. Show all posts

Wednesday, March 21, 2012

Deployment issue : COM object with CLSID {10020200-EB1C-11CF-AE6E-00AA004A34D5} is either not va

Hello,

I have a asp.net application that calls a DTS package. This application is running fine on my machine (where SQL Server and Web Server are running). When I moved the application to a Web Server, I am getting the following error due to the DTS package.

COM object with CLSID {10020200-EB1C-11CF-AE6E-00AA004A34D5} is either not valid or not registered.

In my Bin folder, I do have the reference to the Interop.DTS.dll. The web server admin tells me that the dtsffile.dll, dtspkg.dll, dtspump.dll and axscphst.dll are registered onto the web server.

I am struggling to find the reasons for this. I have tried to replicate this error onto my machine to help me finding out the cause of this problem but in vain!

Can you help please?

Thank you.

Hello,

Just an update on this issue.
Basically, I have never been able to manage to sort this one out, despite viewing many articles on the net.

However, I just want to share one option to overcome this problem.

You can invoke your DTS package through a JOB using SP_START_JOB stored proc. This SP Instructs SQL Server Agent to execute a job immediately. This would do the job of executing the package!!! Of course, you will need the right to run the job.

Hope this helps.

Deployment issue : COM object with CLSID {10020200-EB1C-11CF-AE6E-00AA004A34D5} is either no

Hello,

I have a asp.net application that calls a DTS package. This application is running fine on my machine (where SQL Server and Web Server are running). When I moved the application to a Web Server, I am getting the following error due to the DTS package.

COM object with CLSID {10020200-EB1C-11CF-AE6E-00AA004A34D5} is either not valid or not registered.

In my Bin folder, I do have the reference to the Interop.DTS.dll. The web server admin tells me that the dtsffile.dll, dtspkg.dll, dtspump.dll and axscphst.dll are registered onto the web server.

I am struggling to find the reasons for this. I have tried to replicate this error onto my machine to help me finding out the cause of this problem but in vain!

Can you help please?

Thank you.

Hello,

Just an update on this issue.
Basically, I have never been able to manage to sort this one out, despite viewing many articles on the net.

However, I just want to share one option to overcome this problem.

You can invoke your DTS package through a JOB using SP_START_JOB stored proc. This SP Instructs SQL Server Agent to execute a job immediately. This would do the job of executing the package!!! Of course, you will need the right to run the job.

Hope this helps.

Saturday, February 25, 2012

Deployed report with custom assembly fail when calling web service

Hi,
I'm developing a report that calls a web service using a custom assembly.
I've got the code working in VS.NET, but when I deploy to my local Report
Server, I get this:
System.Security.SecurityException: Request for the permission of type
System.Security.Permissions.SecurityPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed
I have added the following to RSReportServer.config:
<CustomAssemblies>
<Assembly Name="cmcs.wsclient.dll, Version=1.0.xxx.xxxx,
Culture=neutral, PublicKeyToken=xxx">
<PermissionSet class="System.Security.PermissionSet">
<IPermission
class="System.Security.Permissions.SecurityPermission"
version="1"
Flags="Execution, Assertion"
/>
<IPermission class="System.Security.Permissions.WebPermission"
version="1"
Unrestricted="true"
/>
<IPermission
class="System.Security.Permissions.EnvironmentPermission"
version="1"
Unrestricted="true"
/>
</PermissionSet>
</Assembly>
<Assembly Name="cmcs.msrs.webserviceclient, Version=1.0.xxx.xxxx,
Culture=neutral, PublicKeyToken=xxx">
<PermissionSet class="System.Security.PermissionSet">
<IPermission
class="System.Security.Permissions.SecurityPermission"
version="1"
Flags="Execution, Assertion"
/>
<IPermission class="System.Security.Permissions.WebPermission"
version="1"
Unrestricted="true"
/>
<IPermission
class="System.Security.Permissions.EnvironmentPermission"
version="1"
Unrestricted="true"
/>
</PermissionSet>
</Assembly>
<Default>
<PermissionSet class="System.Security.PermissionSet">
<IPermission
class="System.Security.Permissions.SecurityPermission"
version="1"
Flags="Execute"
/>
</PermissionSet>
</Default>
</CustomAssemblies>
In rssrvpolicy.config, I have changed the PermissionSet for
Report_Expressions_Default_Permissions to FullTrust and added the following:
<CodeGroup class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust"
Attributes="LevelFinal"
Name="ReportServer-cmcs.msrs.webserviceclient"
Description="Codegroup generated by the .NET
Configuration tool">
<IMembershipCondition class="UrlMembershipCondition"
version="1"
Url="file://C:/Program
Files/Microsoft SQL Server/MSSQL/Reporting
Services/ReportServer/bin/cmcs.msrs.webserviceclient.dll"/>
</CodeGroup>
It works to call a HelloWorld method returning a string from the custom
assembly, so there is no total failure, but calling the method to invoke the
web service fails.
Please help, I feel that I'm totally stuck!
JonasBy moving my CodeGroup in rssrvpolicy.config to right under the first
default CodeGroup, it I got it to work ...
<CodeGroup
class="FirstMatchCodeGroup"
version="1"
PermissionSetName="Nothing">
<IMembershipCondition
class="AllMembershipCondition"
version="1"
/>
***** RIGHT UNDER HERE *****
It seems like my CodeGroup wasn't used by ReportServer until the move. We'll
just have to see how long time it will work before it breaks again ;-)
Jonas" <Jonas@.nospam.pl> wrote in message
news:u$YVj30IGHA.1032@.TK2MSFTNGP11.phx.gbl...
> Hi,
> I'm developing a report that calls a web service using a custom assembly.
> I've got the code working in VS.NET, but when I deploy to my local Report
> Server, I get this:
> System.Security.SecurityException: Request for the permission of type
> System.Security.Permissions.SecurityPermission, mscorlib,
> Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
failed
> I have added the following to RSReportServer.config:
> <CustomAssemblies>
> <Assembly Name="cmcs.wsclient.dll, Version=1.0.xxx.xxxx,
> Culture=neutral, PublicKeyToken=xxx">
> <PermissionSet class="System.Security.PermissionSet">
> <IPermission
> class="System.Security.Permissions.SecurityPermission"
> version="1"
> Flags="Execution, Assertion"
> />
> <IPermission class="System.Security.Permissions.WebPermission"
> version="1"
> Unrestricted="true"
> />
> <IPermission
> class="System.Security.Permissions.EnvironmentPermission"
> version="1"
> Unrestricted="true"
> />
> </PermissionSet>
> </Assembly>
> <Assembly Name="cmcs.msrs.webserviceclient, Version=1.0.xxx.xxxx,
> Culture=neutral, PublicKeyToken=xxx">
> <PermissionSet class="System.Security.PermissionSet">
> <IPermission
> class="System.Security.Permissions.SecurityPermission"
> version="1"
> Flags="Execution, Assertion"
> />
> <IPermission class="System.Security.Permissions.WebPermission"
> version="1"
> Unrestricted="true"
> />
> <IPermission
> class="System.Security.Permissions.EnvironmentPermission"
> version="1"
> Unrestricted="true"
> />
> </PermissionSet>
> </Assembly>
> <Default>
> <PermissionSet class="System.Security.PermissionSet">
> <IPermission
> class="System.Security.Permissions.SecurityPermission"
> version="1"
> Flags="Execute"
> />
> </PermissionSet>
> </Default>
> </CustomAssemblies>
> In rssrvpolicy.config, I have changed the PermissionSet for
> Report_Expressions_Default_Permissions to FullTrust and added the
following:
> <CodeGroup class="UnionCodeGroup"
> version="1"
> PermissionSetName="FullTrust"
> Attributes="LevelFinal"
>
Name="ReportServer-cmcs.msrs.webserviceclient"
> Description="Codegroup generated by the .NET
> Configuration tool">
> <IMembershipCondition class="UrlMembershipCondition"
> version="1"
> Url="file://C:/Program
> Files/Microsoft SQL Server/MSSQL/Reporting
> Services/ReportServer/bin/cmcs.msrs.webserviceclient.dll"/>
> </CodeGroup>
> It works to call a HelloWorld method returning a string from the custom
> assembly, so there is no total failure, but calling the method to invoke
the
> web service fails.
> Please help, I feel that I'm totally stuck!
> Jonas
>

Deployed custom assembly doesn't call web service

Hi,
I've got a custom assembly used in Rptsvcs that calls a web service on the
local host. When run in Report Designer, it works as planned, but when run
in Report Server, it doesn't call the web service. I have a
HelloWorld-method in the custom assembly that works, so the assembly is
working but it can't call the web service.
I have modified RSReportServer.config as follows:
<CustomAssemblies>
<Assembly Name="cmcs.wsclient, Version=1.0.xxx.xxxx, Culture=neutral,
PublicKeyToken=xxx">
<PermissionSet class="System.Security.PermissionSet">
<IPermission
class="System.Security.Permissions.SecurityPermission"
version="1"
Flags="Execution, Assertion"
/>
<IPermission class="System.Security.Permissions.WebPermission"
version="1">
<ConnectAccess>
<URI uri="$OriginHost$"/>
</ConnectAccess>
</IPermission>
</PermissionSet>
</Assembly>
<Default>
<PermissionSet class="System.Security.PermissionSet">
<IPermission
class="System.Security.Permissions.SecurityPermission"
version="1"
Flags="Execution"
/>
</PermissionSet>
</Default>
</CustomAssemblies>
And the policy file rssrvpolicy.config is also modified:
<CodeGroup class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust"
Attributes="LevelFinal"
Name="cmcs.wsclient"
Description="Codegroup generated by the .NET Configuration tool">
<IMembershipCondition class="UrlMembershipCondition"
version="1"
Url="file://C:/Program Files/Microsoft SQL
Server/MSSQL/Reporting Services/ReportServer/bin/cmcs.wsclient.dll"/>
</CodeGroup>
Any tips?
JonasI forgot to mention that I make an assert in code before the call to the web
service:
WebPermission webPerm = new WebPermission(PermissionState.Unrestricted);
webPerm.Assert();
TIA
Jonas
"Jonas" <Jonas@.nospam.pl> wrote in message
news:%23Na2whMIGHA.376@.TK2MSFTNGP12.phx.gbl...
> Hi,
> I've got a custom assembly used in Rptsvcs that calls a web service on the
> local host. When run in Report Designer, it works as planned, but when run
> in Report Server, it doesn't call the web service. I have a
> HelloWorld-method in the custom assembly that works, so the assembly is
> working but it can't call the web service.
> I have modified RSReportServer.config as follows:
> <CustomAssemblies>
> <Assembly Name="cmcs.wsclient, Version=1.0.xxx.xxxx, Culture=neutral,
> PublicKeyToken=xxx">
> <PermissionSet class="System.Security.PermissionSet">
> <IPermission
> class="System.Security.Permissions.SecurityPermission"
> version="1"
> Flags="Execution, Assertion"
> />
> <IPermission class="System.Security.Permissions.WebPermission"
> version="1">
> <ConnectAccess>
> <URI uri="$OriginHost$"/>
> </ConnectAccess>
> </IPermission>
> </PermissionSet>
> </Assembly>
> <Default>
> <PermissionSet class="System.Security.PermissionSet">
> <IPermission
> class="System.Security.Permissions.SecurityPermission"
> version="1"
> Flags="Execution"
> />
> </PermissionSet>
> </Default>
> </CustomAssemblies>
>
> And the policy file rssrvpolicy.config is also modified:
> <CodeGroup class="UnionCodeGroup"
> version="1"
> PermissionSetName="FullTrust"
> Attributes="LevelFinal"
> Name="cmcs.wsclient"
> Description="Codegroup generated by the .NET Configuration tool">
> <IMembershipCondition class="UrlMembershipCondition"
> version="1"
> Url="file://C:/Program Files/Microsoft SQL
> Server/MSSQL/Reporting Services/ReportServer/bin/cmcs.wsclient.dll"/>
> </CodeGroup>
> Any tips?
> Jonas
>
>|||After some more investigation, I found out that it is the following
statement
ws.Credentials = System.Net.CredentialCache.DefaultCredentials;
I need this to get the web services to use the callers identity. The
exception thrown is:
Request for the permission of type
System.Security.Permissions.EnvironmentPermission
As before, it works in Report Designer so the code is alright, it is the
security configuration that fails somewhere.
/Jonas
"Jonas" <Jonas@.nospam.pl> wrote in message
news:ewR3eFOIGHA.1288@.TK2MSFTNGP09.phx.gbl...
> I forgot to mention that I make an assert in code before the call to the
web
> service:
> WebPermission webPerm = new WebPermission(PermissionState.Unrestricted);
> webPerm.Assert();
> TIA
> Jonas
> "Jonas" <Jonas@.nospam.pl> wrote in message
> news:%23Na2whMIGHA.376@.TK2MSFTNGP12.phx.gbl...
> > Hi,
> >
> > I've got a custom assembly used in Rptsvcs that calls a web service on
the
> > local host. When run in Report Designer, it works as planned, but when
run
> > in Report Server, it doesn't call the web service. I have a
> > HelloWorld-method in the custom assembly that works, so the assembly is
> > working but it can't call the web service.
> >
> > I have modified RSReportServer.config as follows:
> >
> > <CustomAssemblies>
> > <Assembly Name="cmcs.wsclient, Version=1.0.xxx.xxxx, Culture=neutral,
> > PublicKeyToken=xxx">
> > <PermissionSet class="System.Security.PermissionSet">
> > <IPermission
> > class="System.Security.Permissions.SecurityPermission"
> > version="1"
> > Flags="Execution, Assertion"
> > />
> > <IPermission class="System.Security.Permissions.WebPermission"
> > version="1">
> > <ConnectAccess>
> > <URI uri="$OriginHost$"/>
> > </ConnectAccess>
> > </IPermission>
> > </PermissionSet>
> > </Assembly>
> >
> > <Default>
> > <PermissionSet class="System.Security.PermissionSet">
> > <IPermission
> > class="System.Security.Permissions.SecurityPermission"
> > version="1"
> > Flags="Execution"
> > />
> > </PermissionSet>
> > </Default>
> > </CustomAssemblies>
> >
> >
> > And the policy file rssrvpolicy.config is also modified:
> >
> > <CodeGroup class="UnionCodeGroup"
> > version="1"
> > PermissionSetName="FullTrust"
> > Attributes="LevelFinal"
> > Name="cmcs.wsclient"
> > Description="Codegroup generated by the .NET Configuration
tool">
> > <IMembershipCondition class="UrlMembershipCondition"
> > version="1"
> > Url="file://C:/Program Files/Microsoft SQL
> > Server/MSSQL/Reporting Services/ReportServer/bin/cmcs.wsclient.dll"/>
> > </CodeGroup>
> >
> > Any tips?
> >
> > Jonas
> >
> >
> >
>|||I've finally gotten the report to run in Report Server, but it took a while
and a nasty config to do it. It seems that the only way to get this to work
is to change the PermissionSet for Report_Expressions_Default_Permissions in
rssrvpolicy.config to FullTrust. I've tried to create a custom PermissionSet
with CASPOL where I ended up adding all permissions and setting them to
Unrestricted="true" thinking that I could then remove one at a time to
finally get a lower priviliege permission set, but the only thing that works
is FullTrust.
Is there someone else that have experienced the same thing?
Brgds
Jonas
"Jonas" <Jonas@.nospam.pl> wrote in message
news:%23YQR7hPIGHA.2212@.TK2MSFTNGP15.phx.gbl...
> After some more investigation, I found out that it is the following
> statement
> ws.Credentials = System.Net.CredentialCache.DefaultCredentials;
> I need this to get the web services to use the callers identity. The
> exception thrown is:
> Request for the permission of type
> System.Security.Permissions.EnvironmentPermission
> As before, it works in Report Designer so the code is alright, it is the
> security configuration that fails somewhere.
> /Jonas
> "Jonas" <Jonas@.nospam.pl> wrote in message
> news:ewR3eFOIGHA.1288@.TK2MSFTNGP09.phx.gbl...
> > I forgot to mention that I make an assert in code before the call to the
> web
> > service:
> >
> > WebPermission webPerm = new WebPermission(PermissionState.Unrestricted);
> > webPerm.Assert();
> > TIA
> >
> > Jonas
> >
> > "Jonas" <Jonas@.nospam.pl> wrote in message
> > news:%23Na2whMIGHA.376@.TK2MSFTNGP12.phx.gbl...
> > > Hi,
> > >
> > > I've got a custom assembly used in Rptsvcs that calls a web service on
> the
> > > local host. When run in Report Designer, it works as planned, but when
> run
> > > in Report Server, it doesn't call the web service. I have a
> > > HelloWorld-method in the custom assembly that works, so the assembly
is
> > > working but it can't call the web service.
> > >
> > > I have modified RSReportServer.config as follows:
> > >
> > > <CustomAssemblies>
> > > <Assembly Name="cmcs.wsclient, Version=1.0.xxx.xxxx,
Culture=neutral,
> > > PublicKeyToken=xxx">
> > > <PermissionSet class="System.Security.PermissionSet">
> > > <IPermission
> > > class="System.Security.Permissions.SecurityPermission"
> > > version="1"
> > > Flags="Execution, Assertion"
> > > />
> > > <IPermission
class="System.Security.Permissions.WebPermission"
> > > version="1">
> > > <ConnectAccess>
> > > <URI uri="$OriginHost$"/>
> > > </ConnectAccess>
> > > </IPermission>
> > > </PermissionSet>
> > > </Assembly>
> > >
> > > <Default>
> > > <PermissionSet class="System.Security.PermissionSet">
> > > <IPermission
> > > class="System.Security.Permissions.SecurityPermission"
> > > version="1"
> > > Flags="Execution"
> > > />
> > > </PermissionSet>
> > > </Default>
> > > </CustomAssemblies>
> > >
> > >
> > > And the policy file rssrvpolicy.config is also modified:
> > >
> > > <CodeGroup class="UnionCodeGroup"
> > > version="1"
> > > PermissionSetName="FullTrust"
> > > Attributes="LevelFinal"
> > > Name="cmcs.wsclient"
> > > Description="Codegroup generated by the .NET Configuration
> tool">
> > > <IMembershipCondition class="UrlMembershipCondition"
> > > version="1"
> > > Url="file://C:/Program Files/Microsoft SQL
> > > Server/MSSQL/Reporting Services/ReportServer/bin/cmcs.wsclient.dll"/>
> > > </CodeGroup>
> > >
> > > Any tips?
> > >
> > > Jonas
> > >
> > >
> > >
> >
> >
>|||Yes, I also had a heck of a time with this. We are calling a web service to
translate English to Spanish.
I ended up going the FullTrust route myself, still haven't tested on a clean
machine all the install and config steps I took.
Steve
"Jonas" <Jonas@.nospam.pl> wrote in message
news:ejM$u7RIGHA.376@.TK2MSFTNGP12.phx.gbl...
> I've finally gotten the report to run in Report Server, but it took a
> while
> and a nasty config to do it. It seems that the only way to get this to
> work
> is to change the PermissionSet for Report_Expressions_Default_Permissions
> in
> rssrvpolicy.config to FullTrust. I've tried to create a custom
> PermissionSet
> with CASPOL where I ended up adding all permissions and setting them to
> Unrestricted="true" thinking that I could then remove one at a time to
> finally get a lower priviliege permission set, but the only thing that
> works
> is FullTrust.
> Is there someone else that have experienced the same thing?
> Brgds
> Jonas
> "Jonas" <Jonas@.nospam.pl> wrote in message
> news:%23YQR7hPIGHA.2212@.TK2MSFTNGP15.phx.gbl...
>> After some more investigation, I found out that it is the following
>> statement
>> ws.Credentials = System.Net.CredentialCache.DefaultCredentials;
>> I need this to get the web services to use the callers identity. The
>> exception thrown is:
>> Request for the permission of type
>> System.Security.Permissions.EnvironmentPermission
>> As before, it works in Report Designer so the code is alright, it is the
>> security configuration that fails somewhere.
>> /Jonas
>> "Jonas" <Jonas@.nospam.pl> wrote in message
>> news:ewR3eFOIGHA.1288@.TK2MSFTNGP09.phx.gbl...
>> > I forgot to mention that I make an assert in code before the call to
>> > the
>> web
>> > service:
>> >
>> > WebPermission webPerm = new
>> > WebPermission(PermissionState.Unrestricted);
>> > webPerm.Assert();
>> > TIA
>> >
>> > Jonas
>> >
>> > "Jonas" <Jonas@.nospam.pl> wrote in message
>> > news:%23Na2whMIGHA.376@.TK2MSFTNGP12.phx.gbl...
>> > > Hi,
>> > >
>> > > I've got a custom assembly used in Rptsvcs that calls a web service
>> > > on
>> the
>> > > local host. When run in Report Designer, it works as planned, but
>> > > when
>> run
>> > > in Report Server, it doesn't call the web service. I have a
>> > > HelloWorld-method in the custom assembly that works, so the assembly
> is
>> > > working but it can't call the web service.
>> > >
>> > > I have modified RSReportServer.config as follows:
>> > >
>> > > <CustomAssemblies>
>> > > <Assembly Name="cmcs.wsclient, Version=1.0.xxx.xxxx,
> Culture=neutral,
>> > > PublicKeyToken=xxx">
>> > > <PermissionSet class="System.Security.PermissionSet">
>> > > <IPermission
>> > > class="System.Security.Permissions.SecurityPermission"
>> > > version="1"
>> > > Flags="Execution, Assertion"
>> > > />
>> > > <IPermission
> class="System.Security.Permissions.WebPermission"
>> > > version="1">
>> > > <ConnectAccess>
>> > > <URI uri="$OriginHost$"/>
>> > > </ConnectAccess>
>> > > </IPermission>
>> > > </PermissionSet>
>> > > </Assembly>
>> > >
>> > > <Default>
>> > > <PermissionSet class="System.Security.PermissionSet">
>> > > <IPermission
>> > > class="System.Security.Permissions.SecurityPermission"
>> > > version="1"
>> > > Flags="Execution"
>> > > />
>> > > </PermissionSet>
>> > > </Default>
>> > > </CustomAssemblies>
>> > >
>> > >
>> > > And the policy file rssrvpolicy.config is also modified:
>> > >
>> > > <CodeGroup class="UnionCodeGroup"
>> > > version="1"
>> > > PermissionSetName="FullTrust"
>> > > Attributes="LevelFinal"
>> > > Name="cmcs.wsclient"
>> > > Description="Codegroup generated by the .NET Configuration
>> tool">
>> > > <IMembershipCondition class="UrlMembershipCondition"
>> > > version="1"
>> > > Url="file://C:/Program Files/Microsoft SQL
>> > > Server/MSSQL/Reporting Services/ReportServer/bin/cmcs.wsclient.dll"/>
>> > > </CodeGroup>
>> > >
>> > > Any tips?
>> > >
>> > > Jonas
>> > >
>> > >
>> > >
>> >
>> >
>>
>|||When the report is deployed and run from the web server it runs under a
different set of user credentials to when it is in debug, (Probably "Local
System" or "Network Service", which ever user is configured to run the
reporting services?).
Try explicitly setting the network credentials like so..
ws.Credentials = new NetworkCredential(Username, Password, Domain);
I actually store my username/password/domain in a Settings file, to allow it
to be changed easliy.
This works for me when calling the reporting services web service, I am using:
1. Explicit credentials of a domain user that can access the web service,
2. set the rssrvpolicy.config, Report_Expressions_Default_Permissions -->
Full_Trust
Note I am running my assembly in the gac.
Hope this helps
John