问题描述
本人写了一个小程序,通过webservice调用barTender出现以下异常。System.Web.Services.Protocols.SoapException:服务器无法处理请求。--->System.UnauthorizedAccessException:检索COM类工厂中CLSID为{B9425246-4131-11D2-BE48-004005A04EDF}的组件失败,原因是出现以下错误:80070005拒绝访问。(异常来自HRESULT:0x80070005(E_ACCESSDENIED))。在BaseService.print()位置e:软件项目条码系统扫描枪ServerApp_CodeBaseService.cs:行号35---内部异常堆栈跟踪的结尾---单独调试webservice可以运行成功,可是通过我在扫描枪上的一个程序访问webservice运行就不行了,我在本机上做一个程序访问webservice也不行。以下是webservice代码,单独运行webservice可以打印[WebMethod(Description="打印",EnableSession=true)]publicvoidprint(){BarTender.ApplicationbtApp=newBarTender.Application();BarTender.FormatbtFormat=btApp.Formats.Open(@"E:btwtest.btw",false,"");btFormat.PrintSetup.IdenticalCopiesOfLabel=1;btFormat.PrintSetup.NumberSerializedLabels=1;btFormat.PrintOut(false,false);btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);}以下是客户端代码,调用webservice中的代码就报上面的异常。privatevoidbutton1_Click(objectsender,EventArgse){try{SolarServer.BaseServiceserver=newClient.SolarServer.BaseService();server.print();}catch(Exceptionex){MessageBox.Show(ex.Message);}}
解决方案
解决方案二:
自己顶一下,哪位大侠能帮帮忙啊
解决方案三:
test.btw看看是否只读。
解决方案四:
引用2楼kongwei521的回复:
test.btw看看是否只读。
不是只读的