写了一个简单的servlet测试阿里云短信服务,出现以下异常

exception

javax.servlet.ServletException: Servlet execution threw an exception
com.lemon.sso.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:31)
root cause

java.lang.AbstractMethodError: org.apache.xerces.dom.DeferredElementImpl.getTextContent()Ljava/lang/String;
com.aliyuncs.regions.InternalEndpointsParser.parseEndpoints(InternalEndpointsParser.java:56)
com.aliyuncs.regions.InternalEndpointsParser.getEndpoint(InternalEndpointsParser.java:90)
com.aliyuncs.profile.DefaultProfile.getEndpoints(DefaultProfile.java:148)
com.aliyuncs.profile.DefaultProfile.addEndpoint(DefaultProfile.java:269)
com.aliyuncs.profile.DefaultProfile.addEndpoint(DefaultProfile.java:263)
com.lemon.action.Servlet_Sms.doPost(Servlet_Sms.java:47)
com.lemon.action.Servlet_Sms.doGet(Servlet_Sms.java:36)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.lemon.sso.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:31)

public class Servlet_Sms extends HttpServlet {
private static final long serialVersionUID = 1L;

static final String product = "Dysmsapi";
//产品域名,开发者无需替换
static final String domain = "dysmsapi.aliyuncs.com";

// TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
static final String accessKeyId = "xxxxxxxx";
static final String accessKeySecret = "xxxxxxxxxxx";

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doPost(request, response);
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String phoneNumbers="13236255894";
    String userName="xxx";

    System.setProperty("sun.net.client.defaultConnectTimeout", "5000");
    System.setProperty("sun.net.client.defaultReadTimeout", "5000");
   IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
    try {
        System.out.println("##################################");
        DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
    } catch (ClientException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    IAcsClient acsClient = new DefaultAcsClient(profile);

    SendSmsRequest srequest = new SendSmsRequest();
    srequest.setPhoneNumbers(phoneNumbers);
    srequest.setSignName("阿里云短信测试专用"); //短信签名-可在短信控制台中找到
    srequest.setTemplateCode("SMS_10000000"); //短信模板-可在短信控制台中找到
    String code=String.valueOf((int)((Math.random()*9+1)*100000));
    System.out.println(code);
    srequest.setTemplateParam("{\"name\":\""+userName+"\", \"code\":\""+code+"\"}"); //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"

    HandlerResult result=new HandlerResult();
    SendSmsResponse sendSmsResponse;
    try {
        sendSmsResponse = acsClient.getAcsResponse(srequest);
        System.out.println("调用后");
        if(sendSmsResponse.getCode() != null && "OK".equals(sendSmsResponse.getCode())){
            result.setCode(0);
            result.setSuccess(1);
            result.setMessage("发送成功!");
        }else{
            result.setCode(0);
            result.setSuccess(0);
            result.setMessage("发送失败!");
        }
        response.getWriter().print(new Gson().toJson(result));
    } catch (ServerException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ClientException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

}


com.lemon.action.Servlet_Sms.doPost(Servlet_Sms.java:47) 。可以贴出你这部分的代码吗

可能是数据类型转换的问题。。。

com.lemon.action.Servlet_Sms.doPost(Servlet_Sms.java:47)
com.lemon.action.Servlet_Sms.doGet(Servlet_Sms.java:36)请把代码贴完整过来看看