[jbossws-users] [JBossWS] - Problem deploying a simple web service
sigitm
do-not-reply at jboss.com
Mon Jan 8 12:08:43 EST 2007
I'm studying web services, and I developed this simple one:
WebServiceBean.java
| /**
| * @ejb.bean
| * name="WebService"
| * jndi-name="ejb/publishingsystem/dipartimento/WebService"
| * type = "Stateless"
| * display-name = "WebService"
| * description = "WebService Session EJB"
| * view-type="service-endpoint"
| *
| * @ejb.interface
| * service-endpoint-class="publishingsystem.dipartimento.interfaces.WebServiceEndpoint"
| *
| * @wsee.port-component
| * name="WebServiceEndpointPort"
| *
| */
| public class WebServiceBean implements SessionBean {
| private Dipartimento dip;
|
| /**
| * Hello world business interface method.
| *
| * @ejb.interface-method view-type = "service-endpoint"
| */
| public java.lang.String sayHello(String name)
| {
| return("Hello " + name);
| }
|
|
| public WebServiceBean() { super(); }
|
| public void setSessionContext(SessionContext ctx)
| throws EJBException, RemoteException {}
|
| public void ejbRemove() throws EJBException, RemoteException {}
| public void ejbActivate() throws EJBException, RemoteException {}
| public void ejbPassivate() throws EJBException, RemoteException {}
|
| /**
| * Default create method
| *
| * @throws CreateException
| * @ejb.create-method
| */
| public void ejbCreate() throws CreateException {}
|
| }
|
I used wstools with this configuration file:
<configuration xmlns="http://www.jboss.org/jbossws-tools">
| <java-wsdl>
| <service name="WebService" style="rpc" endpoint="publishingsystem.dipartimento.interfaces.WebServiceEndpoint"/>
| <namespaces target-namespace="http://www.unibo.it/dip"
| type-namespace="http://www.unibo.it/dip/types"/>
| <mapping file="jaxrpc-mapping.xml"/>
| <webservices ejb-link="WebServiceBean"/>
| </java-wsdl>
| </configuration>
|
...and I obtained the following files:
WebService.wsdl
<?xml version="1.0" encoding="UTF-8"?>
| <definitions name='WebService' targetNamespace='http://www.unibo.it/dip' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://www.unibo.it/dip' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
| <types/>
| <message name='WebServiceEndpoint_sayHello'>
| <part name='String_1' type='xsd:string'/>
| </message>
| <message name='WebServiceEndpoint_sayHelloResponse'>
| <part name='result' type='xsd:string'/>
| </message>
| <portType name='WebServiceEndpoint'>
| <operation name='sayHello' parameterOrder='String_1'>
| <input message='tns:WebServiceEndpoint_sayHello'/>
| <output message='tns:WebServiceEndpoint_sayHelloResponse'/>
| </operation>
| </portType>
| <binding name='WebServiceEndpointBinding' type='tns:WebServiceEndpoint'>
| <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>
| <operation name='sayHello'>
| <soap:operation soapAction=''/>
| <input>
| <soap:body namespace='http://www.unibo.it/dip' use='literal'/>
| </input>
| <output>
| <soap:body namespace='http://www.unibo.it/dip' use='literal'/>
| </output>
| </operation>
| </binding>
| <service name='WebService'>
| <port binding='tns:WebServiceEndpointBinding' name='WebServiceEndpointPort'>
| <soap:address location='REPLACE_WITH_ACTUAL_URL'/>
| </port>
| </service>
| </definitions>
webservices.xml
<webservices version='1.1' xmlns='http://java.sun.com/xml/ns/j2ee' xmlns:impl='http://www.unibo.it/dip' 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'>
| <webservice-description>
| <webservice-description-name>WebService</webservice-description-name>
| <wsdl-file>META-INF/wsdl/WebService.wsdl</wsdl-file>
| <jaxrpc-mapping-file>META-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
| <port-component>
| <port-component-name>WebServiceEndpointPort</port-component-name>
| <wsdl-port>impl:WebServiceEndpointPort</wsdl-port>
| <service-endpoint-interface>publishingsystem.dipartimento.interfaces.WebServiceEndpoint</service-endpoint-interface>
| <service-impl-bean>
| <ejb-link>WebServiceBean</ejb-link>
| </service-impl-bean>
| </port-component>
| </webservice-description>
| </webservices>
jaxrpc-mapping.xml
<?xml version='1.0' encoding='UTF-8'?><java-wsdl-mapping version='1.1' 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_jaxrpc_mapping_1_1.xsd'>
| <package-mapping>
| <package-type>publishingsystem.dipartimento.interfaces</package-type>
| <namespaceURI>http://www.unibo.it/dip/types</namespaceURI>
| </package-mapping>
| <service-interface-mapping>
| <service-interface>publishingsystem.dipartimento.interfaces.WebService</service-interface>
| <wsdl-service-name xmlns:serviceNS='http://www.unibo.it/dip'>serviceNS:WebService</wsdl-service-name>
| <port-mapping>
| <port-name>WebServiceEndpointPort</port-name>
| <java-port-name>WebServiceEndpointPort</java-port-name>
| </port-mapping>
| </service-interface-mapping>
| <service-endpoint-interface-mapping>
| <service-endpoint-interface>publishingsystem.dipartimento.interfaces.WebServiceEndpoint</service-endpoint-interface>
| <wsdl-port-type xmlns:portTypeNS='http://www.unibo.it/dip'>portTypeNS:WebServiceEndpoint</wsdl-port-type>
| <wsdl-binding xmlns:bindingNS='http://www.unibo.it/dip'>bindingNS:WebServiceEndpointBinding</wsdl-binding>
| <service-endpoint-method-mapping>
| <java-method-name>sayHello</java-method-name>
| <wsdl-operation>sayHello</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://www.unibo.it/dip'>wsdlMsgNS:WebServiceEndpoint_sayHello</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://www.unibo.it/dip'>wsdlMsgNS:WebServiceEndpoint_sayHelloResponse</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>
I created the jar package (with these 3 files in META-INF) and I tried to deploy it in JBoss, but it returns the following error:
17:48:01,781 INFO [EjbModule] Deploying WebService
| 17:48:03,890 ERROR [MainDeployer] Could not create deployment: file:/C:/Programmi/jboss-4.0.5.GA/server/default/deploy/PublishingSystem.DipartimentoEJB.jar
| org.jboss.ws.WSException: Cannot obtain UnifiedBeanMetaData for: WebServiceBean
| at org.jboss.ws.deployment.JSR109ServerMetaDataBuilder.buildMetaData(JSR109ServerMetaDataBuilder.java:152)
| at org.jboss.ws.deployment.ServiceEndpointDeployer.create(ServiceEndpointDeployer.java:85)
| at org.jboss.ws.integration.jboss.DeployerInterceptor.create(DeployerInterceptor.java:80)
| at org.jboss.ws.integration.jboss.DeployerInterceptorEJB.create(DeployerInterceptorEJB.java:44)
| at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.create(SubDeployerInterceptorSupport.java:180)
| at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:91)
| 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 $Proxy26.create(Unknown Source)
| at org.jboss.deployment.MainDeployer.create(MainDeployer.java:969)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:818)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
| at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| 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 $Proxy8.deploy(Unknown Source)
| at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
| at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
| at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
| at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
| at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
What does it mean? What's wrong with my code? Did I forget something writing the web service?
Thanks a lot.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3999099#3999099
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3999099
More information about the jbossws-users
mailing list