[
http://jira.jboss.com/jira/browse/JBWS-1931?page=comments#action_12394505 ]
Robert Nordin commented on JBWS-1931:
-------------------------------------
I get the same problem, with same configuration, while experimenting with webservices
Class code:
import javax.persistence.*;
import javax.ejb.Stateless;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import usecases.registertime.service.remote.RegisterTimeRemote;
import domain.Customer;
@WebService(name="RegisterTime_ws" )
@SOAPBinding(style = SOAPBinding.Style.DOCUMENT,
use = SOAPBinding.Use.LITERAL,
parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
@Stateless
public class RegisterTime implements RegisterTimeRemote
{
@PersistenceUnit(unitName="timereg") private EntityManagerFactory factory;
@PersistenceContext(unitName="timereg") private EntityManager manager;
@WebMethod
public void sayHelloWorld()
{
System.out.println("HELLO WEBSERVICE WORLD!!");
}
@Override
public void createCustomer(Customer customer)
{
if (customer != null)
{
try
{
System.out.println("Before");
manager.persist(customer);
System.out.println("After");
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
}
}
my web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID"
version="2.5">
<display-name>TimeRegistration-Web</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<display-name>timeregistration-web</display-name>
<!-- =================================================================================
-->
<!-- ======== WEB-SERVICES ========
-->
<!-- =================================================================================
-->
<servlet>
<servlet-name>RegisterTime_ws</servlet-name>
<servlet-class>usecases.registertime.service.RegisterTime</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>RegisterTime_ws</servlet-name>
<url-pattern>/RegisterTime_ws</url-pattern>
</servlet-mapping>
<!--
<listener>
<listener-class>com.project.customization.util.CustomizationServletContextListener</listener-class>
</listener>
-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<error-page>
<error-code>404</error-code>
<location>/index.html</location>
</error-page>
</web-app>
some output
java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but
this RI (from
jar:file:/C:/Dev/tools/jboss-4.2.2.GA/server/default/tmp/deploy/tmp10795jaxb-impl.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class)
needs 2.1 API. Use the endorsed directory mechanism to plac
e jaxb-api.jar in the bootstrap classloader. (See
http://java.sun.com/j2se/1.5.0/docs/guide/standards/)
at
com.sun.xml.bind.v2.model.impl.ModelBuilder.<clinit>(ModelBuilder.java:172)
at
com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:422)
at
com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:286)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)
java.lang.NoClassDefFoundError: Could not initialize class
com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder
at
com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:422)
at
com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:286)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)
at com.sun.xml.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:105)
at com.sun.xml.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:116)
at
org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilder.createJAXBContext(JAXWSMetaDataBuilder.java:921)
at
org.jboss.ws.metadata.builder.jaxws.JAXWSWebServiceMetaDataBuilder.buildWebServiceMetaData(JAXWSWebServiceMetaDataBuilder.java:146)
11:45:11,842 ERROR [RequestHandlerImpl] Error processing web service request
java.lang.IllegalStateException: Cannot obtain endpoint meta data
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleWSDLRequest(RequestHandlerImpl.java:520)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doGet(RequestHandlerImpl.java:144)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:126)
at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
JBOSS WS:Cannot obtain endpoint meta data
------------------------------------------
Key: JBWS-1931
URL:
http://jira.jboss.com/jira/browse/JBWS-1931
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: jbossws-jaxws
Environment: JBOSS 4.2.2 GA, JDK1.6
Reporter: cai jc
Assigned To: Thomas Diesler
I created a web service endpoint using JWS:
/*
* BookWS.java
*
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package net.cjc.ws;
import java.util.List;
import javax.ejb.*;
import javax.jws.*;
import javax.jws.soap.SOAPBinding;
import net.cjc.beans.AuthorManager;
import net.cjc.entity.Book;
@WebService(name="BookWS",targetNamespace="http://net.cjc.ws",serviceName="BookWSService")
@SOAPBinding(style= SOAPBinding.Style.RPC)
@Stateless
public class BookWS {
/* @EJB
private AuthorManager am;
@WebMethod
public List<Book> getMyBook(String me)
{
return am.queryBooks(me);
}*/
@WebMethod
public String getMyBook(String me)
{
return "you have nothing!";
}
}
And modified web.xml to configure this endpoint as a servlet.
At deploy time,the app server throws an exception:
06:13:45,593 ERROR [MainDeployer] Could not start deployment:
file:/D:/jboss-4.2.2.GA/server/default/tmp/deploy/tmp7551cjc.ear-contents/cjc-war.war
java.lang.NoClassDefFoundError: Could not initialize class
com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder
at
com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:422)
at
com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:286)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)
at com.sun.xml.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:105)
at com.sun.xml.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:116)
...
But I still can see this web service from
http://localhost:8080/jbossws/services.While I
click it to retrieve WSDL,another exception is thrown:
06:25:15,796 ERROR [RequestHandlerImpl] Error processing web service request
java.lang.IllegalStateException: Cannot obtain endpoint meta data
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleWSDLRequest(RequestHandlerImpl.java:520)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.doGet(RequestHandlerImpl.java:144)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:126)
at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
....
Is this a bug? or my fault?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira