[jboss-user] [JBoss Getting Started Documentation] - Simple HelloWorld fails with
ritesh001
do-not-reply at jboss.com
Thu Aug 14 14:33:43 EDT 2008
I'm trying to deploy a simple HelloWorld service on JBoss (which deploys just fine over GlassFish and WebLogic) but I keep getting "cannot find endpoint meta data" error. I've looked every where and exhausted every means to find an answer, this is last hope. Please help!!!
Here's the error
| 10:22:04,883 INFO [TomcatDeployer] deploy, ctxPath=/HelloWorldService, warUrl=.../tmp/deploy/tmp57420HelloWorldService-exp.war/
| 10:22:04,935 INFO [WebappClassLoader] validateJarFile(/opt/wfnp/jboss-4.2.3.GA/server/default/./tmp/deploy/tmp57420HelloWorldService-exp.war/WEB-INF/lib/servlet-api-2.3.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
| 10:22:05,205 ERROR [MainDeployer] Could not start deployment: file:/opt/wfnp/jboss-4.2.3.GA/server/default/deploy/HelloWorldService.war
| java.lang.IllegalStateException: Cannot find endpoint meta data for: HelloWorldService
| at org.jboss.wsf.stack.jbws.UnifiedMetaDataDeploymentAspect.getEndpointMetaData(UnifiedMetaDataDeploymentAspect.java:118)
| at org.jboss.wsf.stack.jbws.UnifiedMetaDataDeploymentAspect.start(UnifiedMetaDataDeploymentAspect.java:87)
| at org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl.start(DeploymentAspectManagerImpl.java:146)
| at org.jboss.wsf.container.jboss42.LazyAssemblyWSFRuntime.start(LazyAssemblyWSFRuntime.java:66)
| at org.jboss.wsf.container.jboss42.JAXWSDeployerHookPostJSE.deploy(JAXWSDeployerHookPostJSE.java:52)
| at org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:90)
| at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
| at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy45.start(Unknown Source)
| :
| :
|
Here's my java class, web.xml, and the WSDL file
| package com.my.services.helloworld;
|
| import javax.jws.WebMethod;
| import javax.jws.WebService;
|
| @WebService(endpointInterface = "com.my.services.helloworld.HelloWorldPortType",
| portName = "HelloWorldPort",
| serviceName = "HelloWorldService",
| targetNamespace = "http://services.my.com/helloworld",
| wsdlLocation = "WEB-INF/wsdl/HelloWorldService.wsdl")
| public class HelloWorldServiceImpl implements HelloWorldPortType
| {
| public String helloWorld(String name) throws ServiceExceptionMessage
| {
| try
| {
| return ("Hello there, " + name);
| }
| catch (Exception ex)
| {
| ServiceFault sf = new ServiceFault();
| sf.setErrorMessage(ex.getMessage());
| throw new ServiceExceptionMessage("Error Saying Hello", sf, ex);
| }
| }
| }
web.xml
| <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
| <servlet>
| <servlet-name>HelloWorldService</servlet-name>
| <servlet-class>com.my.services.helloworld.HelloWorldServiceImpl</servlet-class>
| </servlet>
| <servlet-mapping>
| <servlet-name>HelloWorldService</servlet-name>
| <url-pattern>/HelloWorldService</url-pattern>
| </servlet-mapping>
| <session-config>
| <session-timeout>30</session-timeout>
| </session-config>
| </web-app>
|
sun-jaxws.xml
| <?xml version="1.0" encoding="UTF-8"?>
| <endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0">
| <endpoint name="HelloWorldService"
| implementation="com.my.services.helloworld.HelloWorldServiceImpl"
| wsdl="WEB-INF/wsdl/HelloWorldService.wsdl"
| service="{http://services.my.com/helloworld}HelloWorldService"
| port="{http://services.my.com/helloworld}HelloWorldPort"
| url-pattern="/HelloWorldService"/>
| </endpoints>
|
HelloWorldService.wsdl
| <?xml version="1.0" encoding="UTF-8"?>
| <definitions
| name="HelloWorldService"
| targetNamespace="http://services.my.com/helloworld"
| xmlns:xsd="http://www.w3.org/2001/XMLSchema"
| xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
| xmlns:tns="http://services.my.com/helloworld"
| xmlns="http://schemas.xmlsoap.org/wsdl/">
| <types>
| <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:tns="http://services.my.com/helloworld" targetNamespace="http://services.my.com/helloworld">
| <xsd:element name="helloWorld">
| <complexType>
| <xsd:sequence>
| <xsd:element name="name" type="xsd:string"/>
| </xsd:sequence>
| </complexType>
| </xsd:element>
| <xsd:element name="helloWorldResponse">
| <xsd:complexType>
| <xsd:sequence>
| <xsd:element name="return" type="xsd:string"/>
| </xsd:sequence>
| </xsd:complexType>
| </xsd:element>
| <xsd:element name="ServiceFault">
| <xsd:complexType>
| <xsd:sequence>
| <xsd:element name="errorMessage" nillable="false" type="xsd:string"/>
| </xsd:sequence>
| </xsd:complexType>
| </xsd:element>
| </schema>
| </types>
| <message name="helloWorldRequest">
| <part element="tns:helloWorld" name="parameters"/>
| </message>
| <message name="helloWorldResponse">
| <part element="tns:helloWorldResponse" name="parameters"/>
| </message>
| <message name="ServiceExceptionMessage">
| <part element="tns:ServiceFault" name="fault"/>
| </message>
| <portType name="HelloWorldPortType">
| <operation name="helloWorld">
| <input message="tns:helloWorldRequest" name="helloWorldRequest"/>
| <output message="tns:helloWorldResponse" name="helloWorldResponse"/>
| <fault message="tns:ServiceExceptionMessage" name="ServiceException"/>
| </operation>
| </portType>
| <binding name="HelloWorldPortBinding" type="tns:HelloWorldPortType">
| <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
| <operation name="helloWorld">
| <soap:operation soapAction=""/>
| <input name="helloWorldRequest">
| <soap:body use="literal"/>
| </input>
| <output name="helloWorldResponse">
| <soap:body use="literal"/>
| </output>
| <fault name="ServiceException">
| <soap:fault name="ServiceException" use="literal"/>
| </fault>
| </operation>
| </binding>
| <service name="HelloWorldService">
| <port binding="tns:HelloWorldPortBinding" name="HelloWorldPort">
| <soap:address location="http://localhost:8080/helloworld/HelloWorldService"/>
| </port>
| </service>
| </definitions>
|
I don't know what am i doing wrong, the war file deploys on GlassFish and I'm able to get use the service using SaopUI, but can't deploy on JBoss.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4170637#4170637
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4170637
More information about the jboss-user
mailing list