[jboss-jira] [JBoss JIRA] Created: (JBAS-5849) java.lang.IllegalStateException: Cannot obtain endpoint meta data

Hemant Satam (JIRA) jira-events at lists.jboss.org
Mon Aug 11 16:52:09 EDT 2008


java.lang.IllegalStateException: Cannot obtain endpoint meta data
-----------------------------------------------------------------

                 Key: JBAS-5849
                 URL: https://jira.jboss.org/jira/browse/JBAS-5849
             Project: JBoss Application Server
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: Web Services
    Affects Versions: JBossAS-4.2.3.GA
         Environment: JBOSS 4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417), jdk1.6.0_07
            Reporter: Hemant Satam
            Assignee: Alessio Soldano


While trying to access a webservice on JBOSS 4.2.3.GA, I get the following message

java.lang.IllegalStateException: Cannot obtain endpoint meta data
	at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleWSDLRequestFromServletContext(RequestHandlerImpl.java:607)
	at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleWSDLRequest(RequestHandlerImpl.java:580)
	at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doGet(RequestHandlerImpl.java:156)
	at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:138)
	at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
	at java.lang.Thread.run(Unknown Source)
01:55:46,218 ERROR [[HelloServiceWS]] Servlet.service() for servlet HelloServiceWS threw exception
java.lang.IllegalStateException: Cannot obtain endpoint meta data
	at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleWSDLRequestFromServletContext(RequestHandlerImpl.java:607)
	at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleWSDLRequest(RequestHandlerImpl.java:580)
	at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doGet(RequestHandlerImpl.java:156)
	at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:138)
	at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
	at java.lang.Thread.run(Unknown Source)

Source Code:
HelloService.Java
package com.app.services;
public class HelloService {
	public String hello (String name){
		return "Hello JBOSS";
	}
}

IHelloService.java
package com.app.services;
import java.rmi.Remote;
import java.rmi.RemoteException;

public interface IHelloService extends Remote {
	public String hello (String name) throws RemoteException;
}

mapping.xml
------------------
<?xml version="1.0" encoding="UTF-8"?>
<java-wsdl-mapping xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd">
  <package-mapping>
    <package-type>com.app.services</package-type>
    <namespaceURI>http://services.app.com/types</namespaceURI>
  </package-mapping>
  <package-mapping>
    <package-type>com.app.services</package-type>
    <namespaceURI>http://services.app.com/</namespaceURI>
  </package-mapping>
  <service-interface-mapping>
    <service-interface>com.app.services.HelloServiceWS</service-interface>
    <wsdl-service-name xmlns:serviceNS="http://services.app.com/">serviceNS:HelloServiceWS</wsdl-service-name>
    <port-mapping>
      <port-name>IHelloServicePort</port-name>
      <java-port-name>IHelloServicePort</java-port-name>
    </port-mapping>
  </service-interface-mapping>
  <service-endpoint-interface-mapping>
    <service-endpoint-interface>com.app.services.IHelloService</service-endpoint-interface>
    <wsdl-port-type xmlns:portTypeNS="http://services.app.com/">portTypeNS:IHelloService</wsdl-port-type>
    <wsdl-binding xmlns:bindingNS="http://services.app.com/">bindingNS:IHelloServiceBinding</wsdl-binding>
    <service-endpoint-method-mapping>
      <java-method-name>hello</java-method-name>
      <wsdl-operation>hello</wsdl-operation>
      <method-param-parts-mapping>
        <param-position>0</param-position>
        <param-type>java.lang.String</param-type>
        <wsdl-message-mapping>
          <wsdl-message xmlns:wsdlMsgNS="http://services.app.com/">wsdlMsgNS:IHelloService_hello</wsdl-message>
          <wsdl-message-part-name>String_1</wsdl-message-part-name>
          <parameter-mode>IN</parameter-mode>
        </wsdl-message-mapping>
      </method-param-parts-mapping>
      <wsdl-return-value-mapping>
        <method-return-value>java.lang.String</method-return-value>
        <wsdl-message xmlns:wsdlMsgNS="http://services.app.com/">wsdlMsgNS:IHelloService_helloResponse</wsdl-message>
        <wsdl-message-part-name>result</wsdl-message-part-name>
      </wsdl-return-value-mapping>
    </service-endpoint-method-mapping>
  </service-endpoint-interface-mapping>
</java-wsdl-mapping>

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/j2ee" 
		 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
		 version="2.4">
		 
<servlet>
        <servlet-name>HelloServiceWS</servlet-name>
        <servlet-class>com.app.services.HelloService</servlet-class>
    	<load-on-startup>1</load-on-startup>
</servlet>
    
    <servlet-mapping>
        <servlet-name>HelloServiceWS</servlet-name>
        <url-pattern>/HelloServiceWS</url-pattern>
    </servlet-mapping>

    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>
    <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

webservices.xml
------------------------
<?xml version="1.0" encoding="UTF-8"?>
<webservices xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd" version="1.1">
    <webservice-description>
        <webservice-description-name>HelloServiceWS</webservice-description-name>
        <wsdl-file>WEB-INF/wsdl/HelloService.wsdl</wsdl-file>
        <jaxrpc-mapping-file>WEB-INF/mapping.xml</jaxrpc-mapping-file>
        <port-component>
            <port-component-name>Hello</port-component-name>
            <wsdl-port>HelloPort</wsdl-port>
            <service-endpoint-interface>com.app.services.IHelloService</service-endpoint-interface>
            <service-impl-bean>
                <servlet-link>HelloServiceWS</servlet-link>
            </service-impl-bean>
        </port-component>
    </webservice-description>
</webservices>

HelloWebserviceWS.wsdl
------------------------------------
<?xml version="1.0" encoding="UTF-8"?>

<definitions name="HelloServiceWS" targetNamespace="http://services.app.com/" xmlns:tns="http://services.app.com/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
  <types/>
  <message name="IHelloService_hello">
    <part name="String_1" type="xsd:string"/></message>
  <message name="IHelloService_helloResponse">
    <part name="result" type="xsd:string"/></message>
  <portType name="IHelloService">
    <operation name="hello" parameterOrder="String_1">
      <input message="tns:IHelloService_hello"/>
      <output message="tns:IHelloService_helloResponse"/></operation></portType>
  <binding name="IHelloServiceBinding" type="tns:IHelloService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
    <operation name="hello">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal" namespace="http://services.app.com/"/></input>
      <output>
        <soap:body use="literal" namespace="http://services.app.com/"/></output></operation></binding>
  <service name="HelloServiceWS">
    <port name="IHelloServicePort" binding="tns:IHelloServiceBinding">
      <soap:address location="http://localhost:8080/apps/HelloServiceWS?wsdl"/></port></service></definitions>


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list