Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Salut
Je veux mettre en place un webservice
Le principe :
Créer un objet OLE pour utilser Excel, mettre dans la première cellule du fichier une valeur et par la suite la récupérer (très simple comme test)
Lors de l'execution du webservice, nous avons le message d'erreur suivant :
System.Web.Services.Protocols.SoapException: La référence d'objet n'est pas définie à une instance d'un objet. ---> System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
à c__n_process21.writexcel(PBString critere) dans d:\sources PB115\pb2cstempout\process21\n_process21.writexcel(SS):ligne 9
à cns_process21.PBWS__n_process21.writexcel(String critere) dans d:\sources PB115\pb2cstempout\process21\process21.asmx.cs:ligne 49
--- Fin de la trace de la pile d'exception interne ---
à Sybase.PowerBuilder.Web.WebServices.PBWebService.HandleException(Exception ex)
à cns_process21.PBWS__n_process21.writexcel(String critere) dans d:\sources PB115\pb2cstempout\process21\process21.asmx.cs:ligne 59
Est ce à cause de l'objet OLE ?
Plus generalement est il possible de creer des instances d'objet OLE dans les webservices ?
Y a il un autre moyen d'utiliser excel sans passer par OLE ?
Export du user object
$PBExportHeader$n_process21.sru $PBExportComments$Generated Web service object forward global type n_process21 from nonvisualobject end type end forward global type n_process21 from nonvisualobject descriptor "PB_ObjectCodeAssistants" = "{1E00F051-675A-11D2-BCA5-000086095DDA}" end type global n_process21 n_process21 forward prototypes public function string writexcel (string critere) end prototypes public function string writexcel (string critere);OleObject iole_Excel String val iole_Excel = CREATE OLEObject iole_Excel.ConnectToNewObject ( "Excel.Application") iole_Excel.Workbooks.Add iole_Excel.activesheet.cells[1,1] =critere val = iole_Excel.activesheet.cells[1,1].value iole_Excel.activewindow.close(False) iole_Excel.Quit iole_Excel.disconnectobject() destroy iole_Excel return val end function on n_process21.create call super::create TriggerEvent( this, "constructor" ) end on on n_process21.destroy TriggerEvent( this, "destructor" ) call super::destroy end on
Hors ligne
c'est juste un probleme de droit à affecter à excel pour l'utilisateur ASPNET
Hors ligne