繁体   English   中英

Mule CE JSON支持错误

[英]Mule CE JSON support erroring

我有一个非常基本的REST服务,在Mule 3.4 CE下运行,使用运行时的默认程序包。 与使用相同技术的其他几个服务不同,该服务会引发无法解释的错误。 我尝试添加对象到字符串,对象到json和自定义转换器。 但是这些增加都没有帮助。 我在这里的其他帖子或在Mule论坛上看不到任何有关此问题的信息。 我已将Java代码替换为其他工作服务的副本,并得到相同的错误。

有什么想法吗?

JSON:

{
    "createDate" : "",
    "createdBy" : "RESTClient",
    "entry" : "RESTClient Work Log",
    "lastUpdate" : "",
    "lastUpdatedBy" : "",
    "requestTypeId" : 1003,
    "resourceId" : 5666,
    "workLogId" : 0
}

POJO:

@JsonAutoDetect
public class WorkLog {
    private String createDate;
    private String createdBy;
    private String entry;
    private String lastUpdate;
    private String lastUpdatedBy;
    private Integer requestTypeId;
    private Integer resourceId;
    private Integer workLogId;
    // snip
}

REST服务:

@Path("/worklogs")
public interface WorkLogWadlResource {

    @POST
    @Path("/")
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    public Response createWorkLog(@Context HttpHeaders hdr, @Payload final WorkLog log) throws Exception;
}

流程:

 <flow name="worklog-flow" doc:name="worklog-flow"> <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP" path="rest/worklogs" /> <logger message="Work Log request, payload: #[message.payload]" level="DEBUG" doc:name="Logger" category="work_log_service" /> <jersey:resources doc:name="Work Log REST Service"> <component> <spring-object bean="restService" /> </component> </jersey:resources> </flow> 

错误:

ERROR 2015-01-23 15:53:40,906 [[worklog-mule-1.0.0].connector.http.mule.default.receiver.02]
    org.mule.exception.DefaultMessagingExceptionStrategy:
********************************************************************************
Message: Failed to invoke JerseyResourcesComponent{worklog-flow.component.5062}.
    Component that caused exception is: JerseyResourcesComponent{worklog-flow.component.5062}.
    Message payload is of type: ContentLengthInputStream
Code   : MULE_ERROR--2
--------------------------------------------------------------------------------
Exception stack is:
1. String index out of range: -1 (java.lang.StringIndexOutOfBoundsException)
  java.lang.String:1875 (null)
2. Failed to invoke JerseyResourcesComponent{worklog-flow.component.5062}.
    Component that caused exception is: JerseyResourcesComponent{worklog-flow.component.5062}.
    Message payload is of type: ContentLengthInputStream (org.mule.component.ComponentException)
  org.mule.component.AbstractComponent:144
--------------------------------------------------------------------------------
Root Exception stack trace:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1875)
    at com.sun.jersey.spi.container.ContainerRequest.getEncodedPath(ContainerRequest.java:365)
    at com.sun.jersey.spi.container.ContainerRequest.getPath(ContainerRequest.java:358)
+ 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************

这纯粹是没有明确记录的Jersey路径错误。 操作员错误...。

顺便说一句-在这种情况下,Mule详细日志记录未添加任何细节。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM