Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/01/2008, 06:51
fedelazarte
 
Fecha de Ingreso: enero-2008
Mensajes: 1
Antigüedad: 16 años, 3 meses
Puntos: 0
Exclamación Error COM+ llamado desde una ASP.NET

Estimados.
Tengo un componente COM+ corriendo en un servidor, al cual debo
acceder desde una app web, echa en asp.net 2.0.
El visual studio me genero el wrapper correspondiente, generando una
dll con la cual poder acceder a los metedos desde asp.net.
Ahora bien, todo funciona perfecto, salvo por un metodo, que me
entrega el error:
Invalid callee. (Exception from HRESULT: 0x80020010
(DISP_E_BADCALLEE))

La funcion original del COM+, echa en visual basic 6.0, es la
siguiente
Public Function MONAgentes(ByVal cola As String, aNombre() As String,
aTipo() As String, _
aPosicion() As String, aCola() As String, aACDID() As String,
aHoraLogin() As Date, _
aStLlamada() As Byte, aOtro() As String, aEstado() As Byte,
aIsAlive() As Boolean, _
aTiempoEnMonitoreo() As Long, aPosicionMonitoreo() As String, _
aTiempoEnEstado() As Long, aANI() As String, aDNIS() As String,
aTiempoLlamada() As Long, _
atTiempoWait() As Long, atTiempoNotReady() As Long, atTiempoDND()
As Long, _
atTiempoACD() As Long, atTiempoNoACD() As Long, atTiempoOUT() As
Long, atTiempoMonitoreo() As Long, _
aTLlamadasACD() As Long, atLlamadasNoACD() As Long, atLlamadasOUT()
As Long, _
atTiempoBreak() As Long, atTpoPromOUT() As Long, aMonitored() As
String, cantidad As Integer, ParamArray monExtra() As Variant) As
Bolean

La llamada que realizo yo es la siguiente:
ccmon1.MonColasACD(ref aPiloto, ref aColasDescripcion, ref abAF, ref
anAgs, ref anLlamadasACD, ref aTLlamadasACD, ref nLlamadasCola, ref
aTLlamadasCola, ref nLlamadasAbn, ref aTLlamadasAbn, ref nLlamadasTrf,
ref nLlamadasRing, ref nAgReady, ref nAgWork, ref nAgBreak, ref
nAgACD, ref nAgNACD, ref nAgOUT, ref nLlamadasAt, ref nLlamadasSal,
ref nServicio, ref nLlamadasOUT, ref aTDialogoOUT, ref nHoraI, ref
CantColasACD, ref tmp);


Y los tipos de datos son los siguientes:
string[] aPiloto = new string[0];
string[] aColasDescripcion = new string[0];
bool[] abAF = new bool[0];
short[] anAgs = new short[0];
int[] anLlamadasACD = new int[0];
int[] aTLlamadasACD = new int[0];
short CantColasACD = 0;
short nHoraI = 0;
short[] nLlamadasCola = new short[0];
int[] aTLlamadasCola = new int[0];
int[] nLlamadasAbn = new int[0];
int[] aTLlamadasAbn = new int[0];
int[] nLlamadasTrf = new int[0];
short[] nLlamadasRing = new short[0];
short[] nAgReady = new short[0];
short[] nAgWork = new short[0];
short[] nAgBreak = new short[0];
short[] nAgACD = new short[0];
short[] nAgNACD = new short[0];
short[] nAgOUT = new short[0];
int[] nLlamadasAt = new int[0];
int[] nLlamadasSal = new int[0];
short[] nServicio = new short[0];
int[] nLlamadasOUT = new int[0];
int[] aTDialogoOUT = new int[0];
Object[] tmp = new object[0];


El que pueda ayudarme, le estare muy agradecido.