【问题标题】:Save Web Service variable into MuleSoft Message将 Web 服务变量保存到 MuleSoft 消息中
【发布时间】:2013-11-05 01:49:44
【问题描述】:

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

在 Web 服务中,我想使用这些属性更新 mule 消息状态。 由于 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();
}

}

}

【问题讨论】:

    标签: java rest mule mule-studio


    【解决方案1】:

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

    使用 RequestContext.getEventContext() 是在 Jersey 处理的资源中获取 EventContext 的唯一方法。

    到目前为止,MuleSoft 还没有为此类案例提供可行的替代方案,因此,即使 RequestContext.getEventContext() 已被弃用,您也别无选择,只能使用它。

    【讨论】:

    • 你的假设是正确的。我不敢相信没有其他方法可以将 POST 属性存储到 mule 消息或上下文中。我的意思是应该是一个常见的用例,不是吗?
    • 我不确定我是否在关注您:您的 JAX-RS 注释资源应该接收 POST 请求,即应该调用 setMessage。如果没有,那就是一个错误。请编辑您的问题并添加您的 Mule 配置。还要指定版本。
    • 显然我试图做一些不可行的事情。由于 RequestContext.getEventContext() 已弃用,因此无法在我的 Web 服务中收集这些 POST 属性来更新 mule 消息状态。我最终用一个开箱即用的消息转换器替换了 Web 服务。
    • 显然,Mulesoft 中的 Web 服务不能成为您业务流程的入口点..
    • 您是说您知道如何在 Web 服务中操作数据和更新消息或上下文状态吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 2022-01-17
    • 2018-09-01
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    相关资源
    最近更新 更多