4 votos

ArcServer 10.1 - Publicación de un ejecutable C# como servicio de geoprocesamiento

Estoy intentando publicar un ejecutable arcobjects C# como gpservice. Lo hicimos en 10.0 añadiéndolo a una caja de herramientas y pulsando publicar. Usando ArcCatalog en 10.1 primero debe ejecutar el script antes de que pueda 'Compartir como un servicio de geoprocesamiento'.

He ejecutado correctamente la herramienta GP y he probado tanto "Publicar en servidor" como "Guardar como archivo de definición de servicio". Sin embargo, no me deja ir más allá. Vuelve con Script Syntax Error Line: 1 - lo que me lleva a creer que está tratando de analizar el ejecutable como un script de Python.

¿Alguien sabe cómo solucionarlo? Y mejor aún, ¿hay alguna forma de publicar un servicio GP sin ejecutarlo primero?

2voto

wonderfulthunk Puntos 182

En el peor de los casos se podría envolver en Python, llamar al ejecutable con un subproceso en la envoltura, y publicar la envoltura como un servicio GP.

1voto

Danielb Puntos 324

Esta es la respuesta que he recibido del servicio técnico de Esri:

Hi Matt,
I tested on my side and confirmed that .exe file is no long supported as to publish as a GP tool.
I've attached the error information I got when trying to publish a .exe file as a GP tool.

It seems that in 10.1 you have to reproduce your code in a python script code to publish the tool to your Server.
I'm sorry for all the inconvenience this will bring.
Let me know if you have any further question.
Regards,

Esri Tech

Solución:

Envuelva el archivo exe en su propia caja de herramientas y llame a la caja de herramientas desde otro script python en una caja de herramientas. Así que necesitas 2 toolboxes uno con el wrapper de python y el otro con la herramienta exe gp. Utilice la función import toolbox en el script python wrapper.

1voto

Liedman Puntos 3144

Es cierto que es un poco complicado, pero he utilizado este enfoque con gran éxito.

Básicamente, acabo de crear una DLL (a través del proyecto de biblioteca de clases en Visual Studio) que encapsula todas mis necesidades ArcObjects. Luego agrego una referencia a esa dll usando Python.NET y funciona más o menos como clase nativa de python.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X