ок. Класс переписал, вот что получилось: PeopleService.java| Код | package services;
import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.DriverManagerDataSource;
public class PeopleService {
private static final Log log = LogFactory.getLog(PeopleService.class); private DriverManagerDataSource dataSource;
public PeopleService(DriverManagerDataSource dataSource) { this.dataSource = dataSource; if (log.isInfoEnabled()) log.info("PeopleService constructor!"); }
public void add(String name) { new JdbcTemplate(dataSource).update("insert into IPG0.TEST_SERVICE(VALUE) VALUES (?)", new Object[] {name}); } public String ttt(){ return "ghg"; } }
|
у меня даже получилось запустить его локально, и даже wsdl генерит, о как! но с клиентом ничего не получается. Сам класс по обмену данных: PeopleServiceServiceTestCase.java| Код | package client1;
import java.rmi.RemoteException;
public class PeopleServiceServiceTestCase { public static String test(String str){ String zzz="Не определился"; PeopleServiceSoapBindingStub binding; try { binding = (PeopleServiceSoapBindingStub) new client1.PeopleServiceServiceLocator().getPeopleService(); //binding.add(str); try { zzz=binding.ttt(); } catch (RemoteException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } } catch (javax.xml.rpc.ServiceException jre) { if (jre.getLinkedCause() != null) jre.getLinkedCause().printStackTrace(); System.out.print("JAX-RPC ServiceException caught: " + jre); }
return zzz; } }
|
и его вызов 1.jsp| Код | <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Simple jsp page</title></head> <body><% out.println(client1.PeopleServiceServiceTestCase.test("11qqwwersd")); %></body> </html>
|
вываливает в браузер такую ошибку: | Код | HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /1.jsp at line 5
2: <html> 3: <head><title>Simple jsp page</title></head> 4: <body><% 5: out.println(client1.PeopleServiceServiceTestCase.test("11qqwwersd")); 6: %></body> 7: </html>
Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
javax.servlet.ServletException: java.lang.ExceptionInInitializerError org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779) org.apache.jsp._1_jsp._jspService(_1_jsp.java:67) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.ExceptionInInitializerError client1.PeopleServiceSoapBindingStub._initOperationDesc1(PeopleServiceSoapBindingStub.java:31) client1.PeopleServiceSoapBindingStub.<clinit>(PeopleServiceSoapBindingStub.java:20) client1.PeopleServiceServiceLocator.getPeopleService(PeopleServiceServiceLocator.java:55) client1.PeopleServiceServiceLocator.getPeopleService(PeopleServiceServiceLocator.java:50) client1.PeopleServiceServiceTestCase.test(PeopleServiceServiceTestCase.java:10) org.apache.jsp._1_jsp._jspService(_1_jsp.java:58) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.) (Caused by org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.)) org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543) org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235) org.apache.commons.logging.LogFactory.getLog(LogFactory.java:370) org.apache.axis.components.logger.LogFactory.getLog(LogFactory.java:37) org.apache.axis.constants.Enum.<clinit>(Enum.java:35) client1.PeopleServiceSoapBindingStub._initOperationDesc1(PeopleServiceSoapBindingStub.java:31) client1.PeopleServiceSoapBindingStub.<clinit>(PeopleServiceSoapBindingStub.java:20) client1.PeopleServiceServiceLocator.getPeopleService(PeopleServiceServiceLocator.java:55) client1.PeopleServiceServiceLocator.getPeopleService(PeopleServiceServiceLocator.java:50) client1.PeopleServiceServiceTestCase.test(PeopleServiceServiceTestCase.java:10) org.apache.jsp._1_jsp._jspService(_1_jsp.java:58) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.) org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:397) org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529) org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235) org.apache.commons.logging.LogFactory.getLog(LogFactory.java:370) org.apache.axis.components.logger.LogFactory.getLog(LogFactory.java:37) org.apache.axis.constants.Enum.<clinit>(Enum.java:35) client1.PeopleServiceSoapBindingStub._initOperationDesc1(PeopleServiceSoapBindingStub.java:31) client1.PeopleServiceSoapBindingStub.<clinit>(PeopleServiceSoapBindingStub.java:20) client1.PeopleServiceServiceLocator.getPeopleService(PeopleServiceServiceLocator.java:55) client1.PeopleServiceServiceLocator.getPeopleService(PeopleServiceServiceLocator.java:50) client1.PeopleServiceServiceTestCase.test(PeopleServiceServiceTestCase.java:10) org.apache.jsp._1_jsp._jspService(_1_jsp.java:58) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed. org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:385) org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529) org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235) org.apache.commons.logging.LogFactory.getLog(LogFactory.java:370) org.apache.axis.components.logger.LogFactory.getLog(LogFactory.java:37) org.apache.axis.constants.Enum.<clinit>(Enum.java:35) client1.PeopleServiceSoapBindingStub._initOperationDesc1(PeopleServiceSoapBindingStub.java:31) client1.PeopleServiceSoapBindingStub.<clinit>(PeopleServiceSoapBindingStub.java:20) client1.PeopleServiceServiceLocator.getPeopleService(PeopleServiceServiceLocator.java:55) client1.PeopleServiceServiceLocator.getPeopleService(PeopleServiceServiceLocator.java:50) client1.PeopleServiceServiceTestCase.test(PeopleServiceServiceTestCase.java:10) org.apache.jsp._1_jsp._jspService(_1_jsp.java:58) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
|
понимаю, что скорей всего нарушается очередность загружаемости классов, но как это поправить -- не знаю =( Это сообщение отредактировал(а) Grig - 16.5.2008, 02:36
|