2011-05-08 90 views
2

我正在创建一个与webservice通信的程序,它是用JSP和Struts编写的。但是,当我要创建web服务我得到以下错误的一个新实例:JSP IllegalArgumentException:com.sun.xml.messaging.saaj.soap.LocalString!= com.sun.xml.internal.messaging.saaj.soap.LocalStrings问题

SEVERE: Servlet.service() for servlet [FrontController] in context with path [/P3_GUI] threw exception [Servlet execution threw an exception] with root cause 
java.lang.IllegalArgumentException: com.sun.xml.messaging.saaj.soap.LocalStrings != com.sun.xml.internal.messaging.saaj.soap.LocalStrings 

这在我ActionClass的下面的代码发生

import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

    import org.apache.struts.action.Action; 
    import org.apache.struts.action.ActionForm; 
    import org.apache.struts.action.ActionForward; 
    import org.apache.struts.action.ActionMapping; 

    import vakws.Vak; 
    import vakws.VakService; 

    public class AddAction extends Action { 
public ActionForward execute(ActionMapping mapping, ActionForm form,  HttpServletRequest request, HttpServletResponse response) { 
    AddForm myForm = (AddForm)form; 

    VakService service = new VakService(); 
    Vak vakProxy = service.getVakPort(); 

    boolean result = vakProxy.addVak(myForm.getVakName(), Double.parseDouble(myForm.getVakMark())); 

    if(!result){ 
     return mapping.findForward("show_addError");  
    }  
    return mapping.findForward("show_addResults");  
    } 
} 

VakService和VakProxy自动使用WSDL生成文件。

我在Eclipse中开发并在Tomcat服务器上部署该程序。网络服务器运行JAX-WS 2.2.3

有没有人知道这个问题的解决方案?

在此先感谢!

回答

3

您的webapp的运行时类路径中有多个不同版本的SAAJ库。 SAAJ已经与JDK捆绑在一起。可能您的webapp的/WEB-INF/lib中有一些saaj-*.jar文件与JDK捆绑的SAAJ库冲突。清理它。