0

我有一个重定向到 REST Java Web 服务的 http 端点。我收到了一个 application/x-www-form-urlencoded 请求,其中包含一些嵌入在请求正文中的属性。

在网络服务中,我想用这些属性更新骡消息状态。由于 RequestContext.getEventContext() 现在已弃用,而 Doc 说要实现 Callable ,但对我来说似乎不起作用。永远不会调用 onCall 方法。

任何想法 ?

在我的代码下面:

enter code here

    @Path("/restClass")
    public class HelloREST implements Callable{
    private String industry;
    private String lob;
    private String nuixlegalentity;
    private org.apache.log4j.Logger log = Logger.getLogger(LoadClass.class);

@POST
@Path("/setPayload")
@Consumes("application/x-www-form-urlencoded")
public void setMessage(@FormParam("industry") String industryParam, @FormParam("lob") String lobParam,@FormParam("nuixlegalentity") String nuixlegalentityParam){

    log.debug("**************INSIDE SETMESSAGE******************");

    industry=industryParam;
    lob=lobParam;
    nuixlegalentity=nuixlegalentityParam;


}
@Override 
public Object onCall(MuleEventContext eventContext) throws Exception{

    log.debug("**************INSIDE ONCALL******************");

    eventContext.getSession().setProperty("industry","industry");
    eventContext.getSession().setProperty("lob",lob);
    eventContext.getSession().setProperty("nuixlegalentity",nuixlegalentity);
    return eventContext.getMessage();
}

}

}

4

1 回答 1

0

我假设您将此类用作 Jersey 传输的资源。在这种情况下,Mule 将根据传入请求调用 JAX-RS 注释方法,因此不会调用onCall. 因此实施Callable是没有用的。

使用RequestContext.getEventContext()是获得EventContext泽西处理资源的唯一方法。

迄今为止,MuleSoft 还没有为这种情况提供可行的替代方案,因此,即使RequestContext.getEventContext()已弃用,您也别无选择,只能使用它。

于 2013-10-31T23:12:23.237 回答