[jbossws-issues] [JBoss JIRA] Commented: (JBWS-1931) JBOSS WS:Cannot obtain endpoint meta data

Robert Nordin (JIRA) jira-events at lists.jboss.org
Thu Jan 10 06:06:44 EST 2008


    [ 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

        



More information about the jbossws-issues mailing list