首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >OptaPlanner执行服务器无法将字符串()转换为类型(java.time.LocalDateTime)

OptaPlanner执行服务器无法将字符串()转换为类型(java.time.LocalDateTime)
EN

Stack Overflow用户
提问于 2018-01-10 11:20:28
回答 1查看 89关注 0票数 0

尝试从Workbench的"Try Samples“中设置员工花名册,并尝试将其设置为通过REST API访问解决方案。我在使用POST上传我的数据集时遇到了一个问题,我在下面列出了我尝试和面对的详细情况。

在此之前,当我注册(PUT)我的求解器状态时,我会得到NOT_SOLVING as config.xml。这是我们将获得的实际状态吗?

分析日期格式时出错。

代码语言:javascript
复制
<startTime>2017-01-01T00:00</startTime>

并尝试了不同的格式,如下所示,但没有帮助。

代码语言:javascript
复制
 <startTime>2017-01-01 00:00</startTime>

环境详细信息:

代码语言:javascript
复制
wildfly-10.0.0.Final
kie-server(Execution Server) - 7.5.0.Final 
Workbench(for WildFly10)

上传:http://localhost:8080/kie-server/services/rest/server/containers/employeerostering/solvers/employeerosteringSolver

请求正文:

代码语言:javascript
复制
<solver-instance>
  <solver-config-file>employeerostering/employeerostering/EmployeeRosteringSolverConfig.solver.xml</solver-config-file>
</solver-instance>

获取:http://localhost:8080/kie-server/services/rest/server/containers/employeerostering/solvers/employeerosteringSolver/bestsolution

收到的回复:

代码语言:javascript
复制
<solver-instance>
  <container-id>employeerostering</container-id>
  <solver-id>employeerosteringSolver</solver-id>
  <solver-config-file>employeerostering/employeerostering/EmployeeRosteringSolverConfig.solver.xml</solver-config-file>
  <status>NOT_SOLVING</status>
  <score />
</solver-instance>

帖子:http://localhost:8080/kie-server/services/rest/server/containers/employeerostering/solvers/employeerosteringSolver/state/solving

请求正文:

代码语言:javascript
复制
<planning-problem class="employeerostering.employeerostering.EmployeeRoster">
  <employeeList>
    <employeerostering.employeerostering.Employee>
      <name>John</name>
      <skills>
        <employeerostering.employeerostering.Skill>
          <name>consulting</name>
        </employeerostering.employeerostering.Skill>
        <employeerostering.employeerostering.Skill>
          <name>translation</name>
        </employeerostering.employeerostering.Skill>
      </skills>
    </employeerostering.employeerostering.Employee>
    <employeerostering.employeerostering.Employee>
      <name>Ann</name>
      <skills>
        <employeerostering.employeerostering.Skill reference="../../../employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill"/>
      </skills>
    </employeerostering.employeerostering.Employee>
    <employeerostering.employeerostering.Employee>
      <name>Paul</name>
      <skills>
        <employeerostering.employeerostering.Skill>
          <name>maintenance</name>
        </employeerostering.employeerostering.Skill>
      </skills>
    </employeerostering.employeerostering.Employee>
    <employeerostering.employeerostering.Employee>
      <name>Carla</name>
      <skills>
        <employeerostering.employeerostering.Skill reference="../../../employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill"/>
        <employeerostering.employeerostering.Skill reference="../../../employeerostering.employeerostering.Employee[3]/skills/employeerostering.employeerostering.Skill"/>
      </skills>
    </employeerostering.employeerostering.Employee>
    <employeerostering.employeerostering.Employee>
      <name>Brian</name>
      <skills>
        <employeerostering.employeerostering.Skill reference="../../../employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill[2]"/>
      </skills>
    </employeerostering.employeerostering.Employee>
    <employeerostering.employeerostering.Employee>
      <name>Unskilled</name>
      <skills class="empty-list"/>
    </employeerostering.employeerostering.Employee>
  </employeeList>
  <shiftList>
    <employeerostering.employeerostering.Shift>
      <timeslot>
        <startTime>2017-01-01T00:00</startTime>
        <endTime>2017-01-01T07:59</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill"/>
    </employeerostering.employeerostering.Shift>
    <employeerostering.employeerostering.Shift>
      <timeslot>
        <startTime>2017-01-01T08:00</startTime>
        <endTime>2017-01-01T15:59</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee[3]/skills/employeerostering.employeerostering.Skill"/>
    </employeerostering.employeerostering.Shift>
    <employeerostering.employeerostering.Shift>
      <timeslot>
        <startTime>2017-01-01T16:00</startTime>
        <endTime>2017-01-01T23:59</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill[2]"/>
    </employeerostering.employeerostering.Shift>
    <employeerostering.employeerostering.Shift>
      <timeslot>
        <startTime>2017-01-02T00:00</startTime>
        <endTime>2017-01-02T07:59</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill[2]"/>
    </employeerostering.employeerostering.Shift>
    <employeerostering.employeerostering.Shift>
      <timeslot>
        <startTime>2017-01-02T08:00</startTime>
        <endTime>2017-01-02T15:59</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee[3]/skills/employeerostering.employeerostering.Skill"/>
    </employeerostering.employeerostering.Shift>
    <employeerostering.employeerostering.Shift>
      <timeslot>
        <startTime>2017-01-02T16:00</startTime>
        <endTime>2017-01-02T23:59</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill"/>
    </employeerostering.employeerostering.Shift>
    <employeerostering.employeerostering.Shift>
      <timeslot>
        <startTime>2017-01-03T00:00</startTime>
        <endTime>2017-01-03T07:59</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill"/>
    </employeerostering.employeerostering.Shift>
    <employeerostering.employeerostering.Shift>
      <timeslot>
        <startTime>2017-01-03T08:00</startTime>
        <endTime>2017-01-03T15:59</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill[2]"/>
    </employeerostering.employeerostering.Shift>
    <employeerostering.employeerostering.Shift>
      <timeslot>
        <startTime>2017-01-03T16:00</startTime>
        <endTime>2017-01-03T23:59</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill[2]"/>
    </employeerostering.employeerostering.Shift>
    <employeerostering.employeerostering.Shift>
      <timeslot>
        <startTime>2017-01-04T00:00</startTime>
        <endTime>2017-01-04T07:59</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee[3]/skills/employeerostering.employeerostering.Skill"/>
    </employeerostering.employeerostering.Shift>
    <employeerostering.employeerostering.Shift>
      <timeslot>
        <startTime>2017-01-04T08:00</startTime>
        <endTime>2017-01-04T15:59</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill[2]"/>
    </employeerostering.employeerostering.Shift>
    <employeerostering.employeerostering.Shift>
      <timeslot>
        <startTime>2017-01-04T16:00</startTime>
        <endTime>2017-01-04T23:59</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill"/>
    </employeerostering.employeerostering.Shift>
    <employeerostering.employeerostering.Shift>
      <timeslot>
        <startTime>2017-01-05T00:00</startTime>
        <endTime>2017-01-05T07:59</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill[2]"/>
    </employeerostering.employeerostering.Shift>
    <employeerostering.employeerostering.Shift>
      <timeslot>
        <startTime>2017-01-05T08:00</startTime>
        <endTime>2017-01-05T15:59</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill"/>
    </employeerostering.employeerostering.Shift>
    <employeerostering.employeerostering.Shift>
      <timeslot>
        <startTime>2017-01-05T16:00</startTime>
        <endTime>2017-01-05T23:59</endTime>
      </timeslot>
      <requiredSkill reference="../../../employeeList/employeerostering.employeerostering.Employee[3]/skills/employeerostering.employeerostering.Skill"/>
    </employeerostering.employeerostering.Shift>
  </shiftList>
  <skillList>
    <employeerostering.employeerostering.Skill reference="../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill"/>
    <employeerostering.employeerostering.Skill reference="../../employeeList/employeerostering.employeerostering.Employee/skills/employeerostering.employeerostering.Skill[2]"/>
    <employeerostering.employeerostering.Skill reference="../../employeeList/employeerostering.employeerostering.Employee[3]/skills/employeerostering.employeerostering.Skill"/>
  </skillList>
  <timeslotList>
    <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift/timeslot"/>
    <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift[2]/timeslot"/>
    <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift[3]/timeslot"/>
    <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift[4]/timeslot"/>
    <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift[5]/timeslot"/>
    <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift[6]/timeslot"/>
    <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift[7]/timeslot"/>
    <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift[8]/timeslot"/>
    <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift[9]/timeslot"/>
    <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift[10]/timeslot"/>
    <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift[11]/timeslot"/>
    <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift[12]/timeslot"/>
    <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift[13]/timeslot"/>
    <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift[14]/timeslot"/>
    <employeerostering.employeerostering.Timeslot reference="../../shiftList/employeerostering.employeerostering.Shift[15]/timeslot"/>
  </timeslotList>
  <shiftAssignmentList>
    <employeerostering.employeerostering.ShiftAssignment>
      <shift reference="../../../shiftList/employeerostering.employeerostering.Shift"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
      <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[2]"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
      <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[3]"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
      <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[4]"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
      <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[5]"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
      <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[6]"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
      <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[7]"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
      <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[8]"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
      <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[9]"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
      <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[10]"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
      <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[11]"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
      <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[12]"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
      <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[13]"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
      <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[14]"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
      <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[15]"/>
    </employeerostering.employeerostering.ShiftAssignment>
  </shiftAssignmentList>
  <dayOffRequestList>
    <employeerostering.employeerostering.DayOffRequest>
      <employee reference="../../../employeeList/employeerostering.employeerostering.Employee"/>
      <date>2017-01-01</date>
    </employeerostering.employeerostering.DayOffRequest>
    <employeerostering.employeerostering.DayOffRequest>
      <employee reference="../../../employeeList/employeerostering.employeerostering.Employee[2]"/>
      <date>2017-01-02</date>
    </employeerostering.employeerostering.DayOffRequest>
  </dayOffRequestList>
</planning-problem>

收到的响应: 500内部服务器错误

以下是从控制台捕获的日志。

代码语言:javascript
复制
 -------------------------------: com.thoughtworks.xstream.converters.ConversionException: 
---- Debugging information ----
cause-exception     : java.lang.IllegalStateException
cause-message       : Failed to convert string (2017-01-01 00:00) to type (java.time.LocalDateTime).
class               : java.time.LocalDateTime
required-type       : java.time.LocalDateTime
converter-type      : org.kie.soup.commons.xstream.LocalDateTimeXStreamConverter
path                : /planning-problem/shiftList/employeerostering.employeerostering.Shift/timeslot/startTime
line number         : 49
class[1]            : employeerostering.employeerostering.Timeslot
converter-type[1]   : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
class[2]            : employeerostering.employeerostering.Shift
class[3]            : java.util.ArrayList
converter-type[2]   : com.thoughtworks.xstream.converters.collections.CollectionConverter
class[4]            : employeerostering.employeerostering.EmployeeRoster
version             : 7.5.0.Final
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-24 08:28:11

问题出在给定的日期格式上。我通过对引起问题的jars进行反编译完成了整个过程。

实际上,它期望的日期格式是:

代码语言:javascript
复制
<startTime>2017-01-01T16:00:01.001</startTime>

但我在许多例子中看到的是:

代码语言:javascript
复制
<startTime>2017-01-01T00:00</startTime>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48179812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档