【问题标题】:Getting exception org.apache.cxf.interceptor.Fault: org/apache/camel/CamelContext获取异常 org.apache.cxf.interceptor.Fault: org/apache/camel/CamelContext
【发布时间】:2013-10-22 16:49:20
【问题描述】:

我正在使用 Apache Camel 发送电子邮件。当我从我的主类调用 send 方法时,我没有收到任何异常,但是当我尝试从其他服务调用它时,我收到了这个异常,完整的跟踪在这里:

http://camel.465427.n5.nabble.com/i-am-getting-exception-org-apache-cxf-interceptor-Fault-org-apache-camel-CamelContext-td5742012.html#a5742016

这是我休息服务的方法。

    @POST
@Path("/sendemail")
public Response sendEmail(final String userdata)
{
    System.out.println("the starting of the send email process");
    ResponseBuilder builder=Response.ok();
    JSONObject data=(JSONObject) JSONSerializer.toJSON(userdata);

    EmailInterface ei=new EmailInterface();
    boolean status=ei.sendEmail(data);
    if(status)
        builder.status(200).entity("SUCCESS");
    else
        builder.status(400).entity("UN SUCCESS");
    return builder.build();
}

此方法调用 EmailInterface 类的方法。

 public class EmailInterface {
   private CamelContext camel;
   private ProducerTemplate template;

public boolean sendEmail(JSONObject data)
{
    boolean status=false;
    camel = new DefaultCamelContext();
    template = camel.createProducerTemplate();

    Map<String, Object> map = new HashMap<String, Object>();
    map.put("To",data.getString("toaddress"));
    String body = data.getString("body");
    map.put("Subject", data.getString("subject"));
    map.put("From", "xxxx@yahoo.com");

    template.sendBodyAndHeaders("smtps://smtp.gmail.com?                 username=xxxxx@gmail.com&password=ixxxxx", body, map);
    status=true;
    return status;

}
  public static void main(String args[])
{

    JSONObject data=new JSONObject();
    data.put("toaddress", "xxxxxxx@gmail.com");
    data.put("subject", "Service Status");
    data.put("body", "hi testing message");
    EmailInterface emailInterface=new EmailInterface();
    System.out.println(emailInterface.sendEmail(data));
}

当我从 EmailInterface 的主要方法调用时,它工作正常并发送电子邮件,但是当我尝试从休息中调用时,我只得到这个执行。

【问题讨论】:

  • 您的库似乎有问题(java.lang.NoClassDefFoundError: org/apache/camel/CamelContext)。您确定在部署 Web 服务时将骆驼库包含在您的战争中吗?
  • 我在类路径中包含了两个 lib 文件。所以它在主类中工作,但在休息 uri 中不起作用。
  • hey.i 包含在类路径中然后它不工作但是当我放入 apache lib 文件夹时它工作正常......谢谢你的帮助。

标签: java jax-ws apache-camel


【解决方案1】:

您的库java.lang.NoClassDefFoundError: org/apache/camel/CamelContext 似乎有问题。

将它们包含在服务器的 lib 文件夹中。

【讨论】:

    猜你喜欢
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 2018-10-08
    相关资源
    最近更新 更多