#java #eclipse #jsp #tomcat #struts
#java #eclipse #jsp #tomcat #struts
Вопрос:
Я создаю программу, которая взаимодействует с веб-сервисом, который написан с использованием JSP и Struts. Но когда я хочу создать новый экземпляр веб-сервиса, я получаю следующую ошибку:
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
Кто-нибудь знает решение этой проблемы?
Заранее спасибо!
Ответ №1:
У вас есть несколько библиотек SAAJ с разными версиями в пути к классам среды выполнения вашего веб-приложения. SAAJ уже поставляется в комплекте с JDK. Возможно, у вас есть какой-то saaj-*.jar
файл в вашем веб-приложении /WEB-INF/lib
, который конфликтует с библиотекой SAAJ, входящей в комплект JDK. Очистите его.