我目前正在与Deltek Vision 7.6集成,正在使用SOAP API,它公开了所有操作,并且当前正在创建和更新记录。
问题是,在数据库表和Deltek Vision中添加一个mew字段,执行相同的调用会返回如下错误:
<?xml version="1.0" encoding="UTF-8"?>
<DLTKVisionMessage>
<ReturnCode>ErrSave</ReturnCode>
<ReturnDesc>An unexpected error has occured while saving</ReturnDesc>
<ChangesNotProcessed>
<InsertErrors>
<Error rowNum="1">
<ErrorCode>InsertError</ErrorCode>
<Message>Column: does not exist.</Message>
<Table>Projects_MilestoneCompletionLog</Table>
<ROW new="1" mod="1" del="0">
<WBS1>100434</WBS1>
<WBS2>1014</WBS2>
<WBS3>SD</WBS3>
<Seq>a0D0m000000cf9NEAQ</Seq>
<CustMilestoneNumber>MS01</CustMilestoneNumber>
<CustMilestoneName>DM91 - Data Maintenance SAQ</CustMilestoneName>
<CustAmount>1150.0</CustAmount>
<CustSiteTrackerDate>2018-07-06T10:01:50</CustSiteTrackerDate>
</ROW>
</Error>
</InsertErrors>
</ChangesNotProcessed>
<Detail>Column: does not exist.</Detail>
<CallStack>UpdateProject.SendDataToDeltekVision</CallStack>
</DLTKVisionMessage>
有问题的字段是:CustSiteTrackerDate,如果我从Vision和Database中删除了此更新调用,则会正确进行。
有人知道在Deltek中创建新的自定义字段后是否需要做一些特别的事情来允许更新调用抛出API吗?
谢谢
答案 0 :(得分:0)
我也一直在使用Deltek Soap API,并在一些文档中找到了这一点:
视觉Web服务/ API的XML架构要添加的数据 或Vision数据库中的更新必须以XML格式发送。的 XML数据的格式必须符合架构。的顺序 XML文件中的字段必须与以下字段的顺序匹配: 由模式定义。如果您的XML文件不符合要求 架构和字段的顺序,当您遇到错误 使用Web服务更新Vision数据库。每个适用的信息 视觉中心具有定义的XML模式。模式的示例 每个信息中心都包含在位于 \ Vision \ Web \ Xsd目录中的Vision Web /应用服务器 (是Deltek Vision的安装目录)。的 模式文件的名称以通用的“信息中心名称”开头 后跟“ _Schema.xsd”。例如,XML模式的名称 用于“员工信息中心”的文件为“ Employee_Schema.Xsd”。
可能您需要将新字段添加到信息中心XML,转到托管您的Vision / Web / App的服务器,并找到该新字段应存在的信息中心XML,并确保该字段存在。