遇到ArcgisService地图服务更新发布打包成功但发布失败时(如下图)。
可以尝试根据MXD文件生成MSD文件,再替换arcgisservice目录中的文件,并重新启动地图服务解决
附MXD文件生成MSD文件Python脚本代码:
# -*- coding: utf-8 -*-
import arcpy, os
def Mxd2Msd(mxdPath):
#检查mxd和msd文件是否存在
arcpy.AddMessage("CheckPath")
if os.path.exists(mxdPath) == False:
return
# 打开mxd文档
try:
arcpy.AddMessage("CheckMxdFile")
mxd = arcpy.mapping.MapDocument(mxdPath)
except Exception, e:
arcpy.AddMessage("open mxd error: ", e)
return
else:
arcpy.AddMessage("mxd Open Success")
# 获取默认的数据框
arcpy.AddMessage("mxdRead")
df = ""
try:
frames = arcpy.mapping.ListDataFrames(mxd)
df = frames[0]
except Exception, e:
arcpy.AddMessage("MxdFrameReadFail:", e)
return
# 构造msd文档名称
msdPath = mxdPath.replace(".mxd", ".msd")
# 将mxd转为msd
arcpy.AddMessage("Mxd2Msd")
arcpy.mapping.ConvertToMSD(mxd, msdPath, df, "NORMAL", "NORMAL")
mxdPath=arcpy.GetParameter(0)
Mxd2Msd(mxdPath)