2009-06-10 8 views
9

Para mi empresa, creé un servicio web ASP.NET que utiliza un motor de pago de terceros para autorizar transacciones con tarjeta de crédito.HRESULT: 0x80010105 (RPC_E_SERVERFAULT) pregunta

El servicio web está alojado en un servidor de aplicaciones independiente y se conecta al servidor de procesamiento de pagos a través de un objeto ActiveX (extensión .ocx). Últimamente, ha estado generando una excepción HRESULT: 0x80010105 (RPC_E_SERVERFAULT) cuando trato de establecer una conexión con la aplicación utilizando una comprobación "IsAvaiable".

¿Alguien recomienda un buen lugar para comenzar a investigar este problema?

(sé que ponerse en contacto con el vendedor sería la primera opción, pero yo quiero tener mis "patos en una fila" antes de ponerse en contacto con el soporte técnico)

Respuesta

2

que he tenido el mismo error (RPC_E_SERVERFAULT) utilizando ActiveX objetos en servicios web. Cada vez que el objeto ActiveX se bloqueaba, IIS arrojaba este error, que enmascararía la razón por la que el objeto se colgó (para nosotros, por lo general, se bloqueaba al cargar un archivo no válido que necesitaba procesar y devolver valores).

¿Ha comprobado los registros del sistema, etc. para ver si su control ActiveX ha registrado el error real en alguna parte?

Si no puede ver nada obvio, le recomiendo que se ponga en contacto con su soporte técnico para descubrir la mejor forma de diagnosticar cuál es el error real y si está registrando sus errores en cualquier lugar.

+1

Revisé el registro de eventos del servidor del servicio web y no encontré ningún error relacionado con el error RPC_E_SERVERFAULT. No tengo acceso al servidor de aplicaciones, quizás pueda encontrar algo allí. –

0

Puede habilitar adplus para obtener un volcado de memoria cada vez que obtenga la excepción. Esto se puede usar para ayudar a depurar el problema.

+0

¿De dónde vendría el volcado de memoria: IIS o el objeto ActiveX? –

+0

Los volcados de memoria provienen de la aplicación, no de módulos individuales, por lo que IIS –

+0

en realidad no produce un archivo .DMP cuando se produce la excepción. ¿Hay otro tipo de extensión de archivo que debería buscar que se consideraría un volcado de memoria? –

2

Michael, su control Activex de terceros probablemente no esté administrando la memoria correctamente. Supongo que está sobrescribiendo una parte de una memoria cuando no debería ser. Consulte con su proveedor externo para ver si tienen una solución.

1

Sé que esto es un desbordamiento de la pila y aquí debería haber una respuesta de programación, pero no menciona actualizaciones ni cambios de software en la máquina que falla. Si no hubo cambios en el software, lo más probable es que sea un problema de hardware. La RAM falla, las CPU fallan, el hardware falla. Si puede desconectar el sistema y probar el hardware, probablemente encontrará que un disco o un módulo de memoria está fallando (quizás también NIC). Es probable que sea el primer paso que el proveedor haría que haga, pero si lo hace usted mismo, puede hacerlo en sus términos y puede asegurarse el cargo de servicio durante unas horas de su tiempo.

+0

Esto es una tontería – Elmue

+0

@Elmue ¿Tiene algo constructivo para agregar? La verificación de hardware es a menudo un buen paso y he sido testigo de que el ram malo causa una variedad de errores, incluidos problemas de verificación de firmas criptográficas. Si crypto falla, RPC puede fallar debido a eso.La pregunta también sobre el asesoramiento cuando se contacta con un proveedor, el hardware de rutina pasará una serie de técnicas sórdidas que utilizan los agentes telefónicos para anular la llamada. – Sqeaky

+1

He visto varios errores RPC_E_SERVERFAULT. Nunca fue el hardware la causa. Este error simplemente significa que un servidor COM se ha bloqueado. La causa son en su mayoría errores de programación como desbordamientos de búfer o lectura de punteros nulos o mala administración de errores. Si tuviera problemas con la RAM, vería bloqueos en diferentes aplicaciones (no solo en un servidor) incluso hasta pantallas azules. Es imposible que un problema de hadware cause bloqueos solo en una aplicación. – Elmue

0

También podría significar que el objeto COM se colgó. Había sucedido esto con una macro en Excel que se colgó Excel. Intente volver a ejecutar la aplicación representada por el objeto COM (en mi caso, un complemento de Excel) por sí mismo y vea si se bloquea o produce algún error.

Cuestiones relacionadas