Hi,
I'm using Jboss 4.0.4 GA on Windows XP and Redhat Linux. I'm trying to deploy an
EJB 2 SLSB as a web service. I get a NullPointerException
on deployment.
My SEI:
| package za.co.testws.interfaces;
| import java.rmi.*;
| import za.co.testws.services.*;
|
| public interface RequestService extends Remote {
| public Message processClaim(Message messsge) throws RemoteException;
| }
|
SEI Implementation:
| package za.co.testws.services;
| import java.rmi.*;
| import javax.ejb.*;
| import org.apache.log4j.*;
| import za.co.testws.interfaces.*;
|
| public class RequestServiceEJB implements SessionBean, RequestService {
| private Logger logger = Logger.getLogger(this.getClass());
|
| public Message processClaim(Message message) throws RemoteException {
| logger.info("Executing business logic:" + message);
| return message;
| }
| // including the normal ejbActivate, ejbCreate etc with empty implementations
| }
|
| package za.co.testws.services;
|
| public class Message {
| private String name;
| private Integer status;
|
| public Message() {}
| public Message(String name, Integer status) {
| setName(name);
| setStatus(status);
| }
| // the getters & setters
| }
|
The WSDL file: (generated by wscompile from jwsdp 2)
| <?xml version="1.0" encoding="UTF-8"?>
| <definitions name="processClaim"
| targetNamespace="http://za.co.testws.interfaces"
| xmlns:tns="http://za.co.testws.interfaces"
|
xmlns="http://schemas.xmlsoap.org/wsdl/"
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
| xmlns:ns2="http://za.co.testws.interfaces/types">
| <types>
| <schema targetNamespace="http://za.co.testws.interfaces/types"
| xmlns:tns="http://za.co.testws.interfaces/types"
|
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
xmlns="http://www.w3.org/2001/XMLSchema">
| <import
namespace="http://schemas.xmlsoap.org/soap/encoding/"
/>
| <complexType name="Message">
| <sequence>
| <element name="name" type="string" />
| <element name="status" type="soap11-enc:int" />
| </sequence>
| </complexType>
| </schema>
| </types>
| <message name="RequestService_processClaim">
| <part name="Message_1" type="ns2:Message" />
| </message>
| <message name="RequestService_processClaimResponse">
| <part name="result" type="ns2:Message" />
| </message>
| <portType name="RequestServicePort">
| <operation name="processClaim"
parameterOrder="Message_1">
| <input message="tns:RequestService_processClaim" />
| <output message="tns:RequestService_processClaimResponse" />
| </operation>
| </portType>
| <binding name="RequestServiceBinding"
type="tns:RequestService">
| <soap:binding
transport="http://schemas.xmlsoap.org/soap/http"
| style="document"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
| <operation name="processClaim">
| <soap:operation
soapAction="http://za.co.testws.interfaces/processClaim"
|
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
| <input>
| <soap:body use="literal"
namespace="http://za.co.testws.interfaces" />
| </input>
| <output>
| <soap:body use="literal"
namespace="http://za.co.testws.interfaces" />
| </output>
| </operation>
| </binding>
| <service name="ProcessClaim">
| <port name="RequestServicePort"
| binding="tns:RequestServiceBinding">
| <soap:address location="REPLACE_WITH_ACTUAL_URL" />
| </port>
| </service>
| </definitions>
|
The generated jaxrp-mapping file
| <?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>za.co.testws.interfaces</package-type>
| <namespaceURI>http://za.co.testws.interfaces/types</namespaceURI>
| </package-mapping>
| <package-mapping>
| <package-type>za.co.testws.interfaces</package-type>
| <namespaceURI>http://za.co.testws.interfaces</namespaceURI>
| </package-mapping>
| <java-xml-type-mapping>
| <java-type>za.co.testws.services.Message</java-type>
| <root-type-qname
| xmlns:typeNS="http://za.co.testws.interfaces/types">
| typeNS:Message
| </root-type-qname>
| <qname-scope>complexType</qname-scope>
| <variable-mapping>
| <java-variable-name>name</java-variable-name>
| <xml-element-name>name</xml-element-name>
| </variable-mapping>
| <variable-mapping>
| <java-variable-name>status</java-variable-name>
| <xml-element-name>status</xml-element-name>
| </variable-mapping>
| </java-xml-type-mapping>
| <service-interface-mapping>
| <service-interface>
| za.co.testws.interfaces.ProcessClaim
| </service-interface>
| <wsdl-service-name
| xmlns:serviceNS="http://za.co.testws.interfaces">
| serviceNS:ProcessClaim
| </wsdl-service-name>
| <port-mapping>
| <port-name>RequestServicePort</port-name>
| <java-port-name>RequestServicePort</java-port-name>
| </port-mapping>
| </service-interface-mapping>
| <service-endpoint-interface-mapping>
| <service-endpoint-interface>
| za.co.testws.interfaces.RequestService
| </service-endpoint-interface>
| <wsdl-port-type
xmlns:portTypeNS="http://za.co.testws.interfaces">
| portTypeNS:RequestService
| </wsdl-port-type>
| <wsdl-binding xmlns:bindingNS="http://za.co.testws.interfaces">
| bindingNS:RequestServiceBinding
| </wsdl-binding>
| <service-endpoint-method-mapping>
| <java-method-name>processClaim</java-method-name>
| <wsdl-operation>processClaim</wsdl-operation>
| <method-param-parts-mapping>
| <param-position>0</param-position>
| <param-type>za.co.testws.services.Message</param-type>
| <wsdl-message-mapping>
| <wsdl-message
| xmlns:wsdlMsgNS="http://za.co.testws.interfaces">
| wsdlMsgNS:RequestService_processClaim
| </wsdl-message>
| <wsdl-message-part-name>Message_1</wsdl-message-part-name>
| <parameter-mode>IN</parameter-mode>
| </wsdl-message-mapping>
| </method-param-parts-mapping>
| <wsdl-return-value-mapping>
| <method-return-value>
| za.co.testws.services.Message
| </method-return-value>
| <wsdl-message
| xmlns:wsdlMsgNS="http://za.co.testws.interfaces">
| wsdlMsgNS:RequestService_processClaimResponse
| </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>
|
My webservices.xml:
| <webservices
xmlns="http://java.sun.com/xml/ns/j2ee"
| xmlns:impl="http://com.underworld.crimeportal/ws4ee"
|
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>RequestServiceEJB</webservice-description-name>
| <wsdl-file>META-INF/wsdl/processClaim.wsdl</wsdl-file>
|
<jaxrpc-mapping-file>META-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
| <port-component>
| <port-component-name>RequestService</port-component-name>
| <wsdl-port>impl:RequestServicePort</wsdl-port>
|
<service-endpoint-interface>za.co.testws.interfaces.RequestService</service-endpoint-interface>
| <service-impl-bean>
| <ejb-link>SubmitRequestEJB</ejb-link>
| </service-impl-bean>
| </port-component>
| </webservice-description>
| </webservices>
|
The ejb-jar.xml
| <ejb-jar
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://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
| version="2.1">
| <enterprise-beans>
| <session>
| <ejb-name>SubmitRequestEJB</ejb-name>
|
<service-endpoint>za.co.testws.interfaces.RequestService</service-endpoint>
| <ejb-class>za.co.testws.services.RequestServiceEJB</ejb-class>
| <session-type>Stateless</session-type>
| <transaction-type>Container</transaction-type>
| </session>
| </enterprise-beans>
| </ejb-jar>
|
The stacktrace:
| 2006-12-10 15:40:35,812 DEBUG [org.jboss.deployment.MainDeployer] (ScannerThread)
Starting deployment of package: file:/C:/jboss-4.0.4.GA/server/all/deploy/testws.jar
| 2006-12-10 15:40:35,812 DEBUG [org.jboss.deployment.MainDeployer] (ScannerThread)
Starting deployment (init step) of package at:
file:/C:/jboss-4.0.4.GA/server/all/deploy/testws.jar
| 2006-12-10 15:40:35,812 DEBUG [org.jboss.deployment.MainDeployer] (ScannerThread)
Copying file:/C:/jboss-4.0.4.GA/server/all/deploy/testws.jar ->
C:\jboss-4.0.4.GA\server\all\tmp\deploy\tmp58316testws.jar
| 2006-12-10 15:40:35,828 DEBUG [org.jboss.deployment.MainDeployer] (ScannerThread)
using deployer MBeanProxyExt[jboss.ejb:service=EJBDeployer]
| 2006-12-10 15:40:35,828 DEBUG [org.jboss.ejb.EJBDeployer] (ScannerThread) init,
testws.jar
| 2006-12-10 15:40:35,828 DEBUG [org.jboss.ejb.EJBDeployer] (ScannerThread) looking for
nested deployments in : file:/C:/jboss-4.0.4.GA/server/all/deploy/testws.jar
| 2006-12-10 15:40:35,828 DEBUG [org.jboss.deployment.DeploymentInfo] (ScannerThread)
createLoaderRepository from config: LoaderRepositoryConfig(repositoryName:
JMImplementation:service=LoaderRepository,name=Default, repositoryClassName: null,
configParserClassName: null, repositoryConfig: null)
| 2006-12-10 15:40:35,828 DEBUG [org.jboss.mx.loading.RepositoryClassLoader]
(ScannerThread) setRepository,
repository=org.jboss.mx.loading.UnifiedLoaderRepository3@1be2d65,
cl=org.jboss.mx.loading.UnifiedClassLoader3@1babddb{
url=file:/C:/jboss-4.0.4.GA/server/all/tmp/deploy/tmp58316testws.jar ,addedOrder=0}
| 2006-12-10 15:40:35,828 DEBUG [org.jboss.mx.loading.RepositoryClassLoader]
(ScannerThread) setRepository,
repository=org.jboss.mx.loading.UnifiedLoaderRepository3@1be2d65,
cl=org.jboss.mx.loading.UnifiedClassLoader3@1babddb{
url=file:/C:/jboss-4.0.4.GA/server/all/tmp/deploy/tmp58316testws.jar ,addedOrder=0}
| 2006-12-10 15:40:35,828 DEBUG [org.jboss.mx.loading.UnifiedLoaderRepository3]
(ScannerThread) Adding org.jboss.mx.loading.UnifiedClassLoader3@1babddb{
url=file:/C:/jboss-4.0.4.GA/server/all/tmp/deploy/tmp58316testws.jar ,addedOrder=0}
| 2006-12-10 15:40:35,828 DEBUG [org.jboss.deployment.MainDeployer] (ScannerThread)
found 0 subpackages of file:/C:/jboss-4.0.4.GA/server/all/deploy/testws.jar
| 2006-12-10 15:40:35,828 DEBUG [org.jboss.deployment.MainDeployer] (ScannerThread)
Watching new file: file:/C:/jboss-4.0.4.GA/server/all/deploy/testws.jar
| 2006-12-10 15:40:35,828 DEBUG [org.jboss.deployment.MainDeployer] (ScannerThread)
create step for deployment file:/C:/jboss-4.0.4.GA/server/all/deploy/testws.jar
| 2006-12-10 15:40:35,828 DEBUG [org.jboss.ws.server.WebServiceDeployerEJB21]
(ScannerThread) create: file:/C:/jboss-4.0.4.GA/server/all/deploy/testws.jar
| 2006-12-10 15:40:35,828 DEBUG [org.jboss.ejb.EJBDeployer] (ScannerThread) create,
testws.jar
| 2006-12-10 15:40:35,890 DEBUG [org.jboss.ejb.EJBDeployer] (ScannerThread) Verifying
file:/C:/jboss-4.0.4.GA/server/all/deploy/testws.jar
| 2006-12-10 15:40:35,921 DEBUG [org.jboss.ejb.EJBDeployer.verifier] (ScannerThread)
Bean checked: SubmitRequestEJB: Verified.
| 2006-12-10 15:40:35,953 DEBUG [org.jboss.ejb.EJBDeployer] (ScannerThread) Deploying:
file:/C:/jboss-4.0.4.GA/server/all/deploy/testws.jar
| 2006-12-10 15:40:35,953 DEBUG [org.jboss.system.ServiceController] (ScannerThread)
Creating service jboss.j2ee:service=EjbModule,module=testws.jar
| 2006-12-10 15:40:35,953 DEBUG [org.jboss.ejb.EjbModule] (ScannerThread) Creating
jboss.j2ee:service=EjbModule,module=testws.jar
| 2006-12-10 15:40:35,953 DEBUG [org.jboss.ejb.EjbModule] (ScannerThread) createService,
begin
| 2006-12-10 15:40:35,953 INFO [org.jboss.ejb.EjbModule] (ScannerThread) Deploying
SubmitRequestEJB
| 2006-12-10 15:40:35,984 DEBUG [org.jboss.ejb.EjbModule] (ScannerThread) Creating
WebClassLoader of class org.jboss.web.WebClassLoader
| 2006-12-10 15:40:36,031 DEBUG [org.jboss.ejb.EjbModule] (ScannerThread) creating
binding for SubmitRequestEJB:stateless-rmi-invoker
| 2006-12-10 15:40:36,046 DEBUG [org.jboss.system.ServiceController] (ScannerThread)
Creating service jboss.j2ee:jndiName=local/SubmitRequestEJB@21116960,service=EJB
| 2006-12-10 15:40:36,046 DEBUG [org.jboss.system.ServiceController] (ScannerThread)
adding depends in ServiceController.register: []
| 2006-12-10 15:40:36,046 DEBUG [org.jboss.ejb.StatelessSessionContainer]
(ScannerThread) Creating jboss.j2ee:jndiName=local/SubmitRequestEJB@21116960,service=EJB
| 2006-12-10 15:40:36,046 DEBUG [org.jboss.ejb.StatelessSessionContainer]
(ScannerThread) Mapped processClaim HASH -877640360to public za.co.testws.services.Message
za.co.testws.services.RequestServiceEJB.processClaim(za.co.testws.services.Message) throws
java.rmi.RemoteException
| 2006-12-10 15:40:36,062 DEBUG [org.jboss.system.ServiceController] (ScannerThread)
Creating service
jboss.j2ee:service=EJB,plugin=pool,jndiName=local/SubmitRequestEJB@21116960
| 2006-12-10 15:40:36,062 DEBUG [org.jboss.ejb.plugins.StatelessSessionInstancePool]
(ScannerThread) Creating
jboss.j2ee:service=EJB,plugin=pool,jndiName=local/SubmitRequestEJB@21116960
| 2006-12-10 15:40:36,062 DEBUG [org.jboss.ejb.plugins.StatelessSessionInstancePool]
(ScannerThread) Created
jboss.j2ee:service=EJB,plugin=pool,jndiName=local/SubmitRequestEJB@21116960
| 2006-12-10 15:40:36,062 DEBUG [org.jboss.system.ServiceController] (ScannerThread)
Creating dependent components for:
jboss.j2ee:service=EJB,plugin=pool,jndiName=local/SubmitRequestEJB@21116960 dependents
are: []
| 2006-12-10 15:40:36,062 DEBUG [org.jboss.ejb.StatelessSessionContainer]
(ScannerThread) Created jboss.j2ee:jndiName=local/SubmitRequestEJB@21116960,service=EJB
| 2006-12-10 15:40:36,062 DEBUG [org.jboss.system.ServiceController] (ScannerThread)
Creating dependent components for:
jboss.j2ee:jndiName=local/SubmitRequestEJB@21116960,service=EJB dependents are: []
| 2006-12-10 15:40:36,062 DEBUG [org.jboss.ejb.EjbModule] (ScannerThread) Bound
jmxName=jboss.j2ee:jndiName=local/SubmitRequestEJB@21116960,service=EJB,
hash=-1549964595into Registry
| 2006-12-10 15:40:36,062 DEBUG [org.jboss.ejb.EjbModule] (ScannerThread) Created
jboss.j2ee:service=EjbModule,module=testws.jar
| 2006-12-10 15:40:36,062 DEBUG [org.jboss.system.ServiceController] (ScannerThread)
Creating dependent components for: jboss.j2ee:service=EjbModule,module=testws.jar
dependents are: []
| 2006-12-10 15:40:36,078 DEBUG [org.jboss.ws.metadata.JSR109ServerMetaDataBuilder]
(ScannerThread) START buildMetaData:
[url=jar:file:/C:/jboss-4.0.4.GA/server/all/tmp/deploy/tmp58316testws.jar!/META-INF/webservices.xml]
| 2006-12-10 15:40:36,203 DEBUG [org.jboss.ws.metadata.wsdl.WSDLDefinitionsFactory]
(ScannerThread) parse:
jar:file:/C:/jboss-4.0.4.GA/server/all/tmp/deploy/tmp58316testws.jar!/META-INF/wsdl/processClaim.wsdl
| 2006-12-10 15:40:36,984 DEBUG [org.jboss.ws.metadata.wsdl.WSDLInterface]
(ScannerThread) new WSDLInterface
| 2006-12-10 15:40:36,984 DEBUG [org.jboss.ws.metadata.wsdl.WSDLInterface]
(ScannerThread) setName: RequestService
| 2006-12-10 15:40:36,984 DEBUG [org.jboss.ws.metadata.wsdl.WSDLInterface]
(ScannerThread) setQName: {http://za.co.testws.interfaces}RequestService
| 2006-12-10 15:40:36,984 ERROR [org.jboss.deployment.MainDeployer] (ScannerThread)
Could not create deployment: file:/C:/jboss-4.0.4.GA/server/all/deploy/testws.jar
| java.lang.NullPointerException
| at
org.jboss.ws.metadata.wsdl.WSDL11Reader.processOperationInput(WSDL11Reader.java:474)
| at
org.jboss.ws.metadata.wsdl.WSDL11Reader.processPortTypeOperations(WSDL11Reader.java:460)
| at org.jboss.ws.metadata.wsdl.WSDL11Reader.processPortType(WSDL11Reader.java:446)
| at org.jboss.ws.metadata.wsdl.WSDL11Reader.processBinding(WSDL11Reader.java:725)
| at org.jboss.ws.metadata.wsdl.WSDL11Reader.processPort(WSDL11Reader.java:1068)
| at org.jboss.ws.metadata.wsdl.WSDL11Reader.processPorts(WSDL11Reader.java:1051)
| at org.jboss.ws.metadata.wsdl.WSDL11Reader.processServices(WSDL11Reader.java:1024)
| at org.jboss.ws.metadata.wsdl.WSDL11Reader.processDefinition(WSDL11Reader.java:119)
| at
org.jboss.ws.metadata.wsdl.WSDLDefinitionsFactory.parse(WSDLDefinitionsFactory.java:145)
| at
org.jboss.ws.metadata.ServiceMetaData.getWsdlDefinitions(ServiceMetaData.java:273)
| at
org.jboss.ws.metadata.JSR109ServerMetaDataBuilder.buildMetaData(JSR109ServerMetaDataBuilder.java:111)
| at
org.jboss.ws.server.WebServiceDeployerEJB21.createWebServicesMetaData(WebServiceDeployerEJB21.java:113)
| at org.jboss.ws.server.WebServiceDeployer.create(WebServiceDeployer.java:103)
| 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 $Proxy44.create(Unknown Source)
| at org.jboss.deployment.MainDeployer.create(MainDeployer.java:953)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:807)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:771)
| at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| 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 $Proxy6.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)
| 2006-12-10 15:40:36,984 DEBUG [org.jboss.deployment.scanner.URLDeploymentScanner]
(ScannerThread) Failed to deploy:
org.jboss.deployment.scanner.URLDeploymentScanner$DeployedURL@1f511228{
url=file:/C:/jboss-4.0.4.GA/server/all/deploy/testws.jar, deployedLastModified=0 }
|
|
Any help will be appreaciated.
Thanks
Nico
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3992621#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...