geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lasantha Ranaweera" <lasan...@opensource.lk>
Subject Re: [Bulk] JAX-RPC Webservice deploys with NPE
Date Fri, 15 Dec 2006 04:17:52 GMT
Hi Dirk,

First thanks for the comment regarding the tutorial and we are always
encourage users to put their comments and their involvement to improve
this community effort. :)

What is your Geronimo version? Are you deploying your web service as WAR
file or EJB component?  AFAIK there is a bug in web serive current
implementation (GERONIMO-1597 which is still in the JIRA with open state).
If it is a WAR file I might be able help you to resolve it. Then if you
don't mind please share other config files (webservices.xml, WSDL ...). If
your component is deployed as a EJB component we might need some help from
Web Service experts in the list. ;)

Since JAX-RPC is not the easist thing to deal with it is better to use
some kind of tool to generate mapping files IMO (this is why JAX-WS comes
in to the picture in JEE5).

Thanks,
Lasantha Ranaweera

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: RIPEMD160
>
> Hello,
>
> sorry, I totally forgot to post the stacktrace. Here it is:
>
> org.apache.geronimo.common.DeploymentException:
> java.lang.NullPointerException
> 	at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:383)
> 	at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:124)
> 	at
> org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(<generated>)
> 	at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> 	at
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:852)
> 	at
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
> 	at
> org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doDeploy(AbstractDeployCommand.java:106)
> 	at
> org.apache.geronimo.deployment.plugin.local.DistributeCommand.run(DistributeCommand.java:60)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.NullPointerException
> 	at
> org.apache.geronimo.axis.builder.AxisServiceBuilder.createServiceDesc(AxisServiceBuilder.java:83)
> 	at
> org.apache.geronimo.axis.builder.AxisServiceBuilder.createServiceInfo(AxisServiceBuilder.java:73)
> 	at
> org.apache.geronimo.axis.builder.AxisBuilder.configureEJB(AxisBuilder.java:141)
> 	at
> org.apache.geronimo.axis.builder.AxisBuilder$$FastClassByCGLIB$$16a52a9a.invoke(<generated>)
> 	at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> 	at
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817)
> 	at
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
> 	at
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
> 	at
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
> 	at
> org.apache.geronimo.j2ee.deployment.ServiceReferenceBuilder$$EnhancerByCGLIB$$8018ba1f.configureEJB(<generated>)
> 	at
> org.openejb.deployment.SessionBuilder.addWSContainerGBean(SessionBuilder.java:215)
> 	at
> org.openejb.deployment.SessionBuilder.buildBeans(SessionBuilder.java:197)
> 	at
> org.openejb.deployment.OpenEJBModuleBuilder.addGBeans(OpenEJBModuleBuilder.java:514)
> 	at
> org.openejb.deployment.OpenEJBModuleBuilder$$FastClassByCGLIB$$11bd7b20.invoke(<generated>)
> 	at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> 	at
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817)
> 	at
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
> 	at
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
> 	at
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
> 	at
> org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$fe5ad2d4.addGBeans(<generated>)
> 	at
> org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(EARConfigBuilder.java:562)
> 	at
> org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(<generated>)
> 	at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> 	at
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817)
> 	at
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
> 	at
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
> 	at
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
> 	at
> org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$a47db46.buildConfiguration(<generated>)
> 	at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:302)
> 	... 10 more
>
>
>
> Best regards
>
> Dirk
>
> D. Strauss schrieb:
>> Hello,
>>
>> I read the Geronimo Wiki about the Sample JAX RPC webservice. Good
>> tutorial :P
>>
>> However, I fail in developing my own version of it (and YES I don't want
>> to install seven hundred tools to get it working as suggested already on
>> the ML :P )
>>
>> Basically, the error is a NullPointerException on deploy time. I think
>> that the error may be in the jaxrpc-mapping.xml but I'm not quite sure
>> since this is my first (or second?) try to create a webservice with
>> jaxrpc. I'm used to create EJB webservices but thx to a specific bug in
>> Geronimo I can't use them anymore :/
>>
>> So, I'll attach my jaxrpc-mapping.xml and several other files so that
>> you may get an overview of all related files. Maybe Lasantha will find
>> the answer ;)
>>
>> Best regards
>>
>> Dirk
>>
>>
>> ------------------------------------------------------------------------
>>
>> <?xml version="1.0" encoding="UTF-8" standalone="no"?><definitions
>> xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
>> xmlns:mns="http://www.ds2/firefox/ws/methoden/"
>> xmlns:mns0="http://www.ds2/firefox/ws/methoden/P1/"
>> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
>> xmlns:tns="http://www.ds2/firefox/ws/"
>> xmlns:u0="http://www.ds2/firefox/ws/xml/"
>> xmlns:xd5="http://www.ds2/xd5/SchemaDatentyp/"
>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> targetNamespace="http://www.ds2/firefox/ws/"
>> xmlns="http://schemas.xmlsoap.org/wsdl/"><!--Created by
>> XD5--><types><xsd:schema elementFormDefault="qualified"
>> targetNamespace="http://www.ds2/firefox/ws/xml/"><xsd:element
>> name="ProxyInfo" type="u0:ProxyInfoType"/><xsd:complexType
>> name="ProxyInfoType"><xsd:annotation><xsd:documentation>Ein Info-Element
>> mit Proxydaten</xsd:documentation></xsd:annotation><xsd:all><xsd:element
>> name="serv
> er
>>  Zeit" type="xsd:dateTime"><xsd:annotation><xsd:documentation>Die
>> Serverzeit</xsd:documentation></xsd:annotation></xsd:element><xsd:element
>> name="status"
>> type="xsd:int"><xsd:annotation><xsd:documentation>Statusanzeige:
>> 0=Online, 1=Timer,
>> 2=Warnung</xsd:documentation></xsd:annotation></xsd:element><xsd:element
>> name="clientSperren"
>> type="xsd:boolean"><xsd:annotation><xsd:documentation>Flag, um den
>> Client zu
>> sperren</xsd:documentation></xsd:annotation></xsd:element><xsd:element
>> name="msg" type="xsd:string"><xsd:annotation><xsd:documentation>Eine
>> Message für den
>> Client</xsd:documentation></xsd:annotation></xsd:element></xsd:all></xsd:complexType></xsd:schema><xsd:schema/><xsd:schema
>> elementFormDefault="qualified"
>> targetNamespace="http://www.ds2/firefox/ws/methoden/P1/"><xsd:import
>> namespace="http://www.ds2/firefox/ws/xml/"/><xsd:element
>> name="holeZufall"><xsd:complexType/></xsd:element><xsd:element
>> name="P1_holeZufall_Response"><xsd:complexType><xsd:sequence><xsd:element
>> name=
> "r
>>  c"
>> type="xsd:int"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element
>> name="getPInfo"><xsd:complexType><xsd:sequence><xsd:element
>> name="clientAdresse"
>> type="xsd:string"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element
>> name="P1_getPInfo_Response"><xsd:complexType><xsd:sequence><xsd:element
>> name="rc"
>> type="u0:ProxyInfoType"/></xsd:sequence></xsd:complexType></xsd:element></xsd:schema></types><message
>> name="P1_holeZufall_Request"><part element="mns0:holeZufall"
>> name="params"/></message><message name="P1_getPInfo_Response"><part
>> element="mns0:P1_getPInfo_Response" name="rc"/></message><message
>> name="P1_holeZufall_Response"><part
>> element="mns0:P1_holeZufall_Response" name="rc"/></message><message
>> name="P1_getPInfo_Request"><part element="mns0:getPInfo"
>> name="params"/></message><portType name="P1"><operation
>> name="holeZufall"><documentation>Liefert eine Zufallszahl
>> zurück</documentation><input
>> message="tns:P1_holeZufall_Request"/><output message="tns:P1_hol
> eZ
>>  ufall_Response"/></operation><operation
>> name="getPInfo"><documentation>Liefert eine Info an den
>> Client</documentation><input message="tns:P1_getPInfo_Request"/><output
>> message="tns:P1_getPInfo_Response"/></operation></portType><binding
>> name="P1Binding0" type="tns:P1"><soap:binding style="document"
>> transport="http://schemas.xmlsoap.org/soap/http"/><operation
>> name="holeZufall"><soap:operation
>> soapAction="http://www.ds2/firefox/ws/methoden/#holeZufall"/><input><soap:body
>> use="literal"/></input><output><soap:body
>> use="literal"/></output></operation><operation
>> name="getPInfo"><soap:operation
>> soapAction="http://www.ds2/firefox/ws/methoden/#getPInfo"/><input><soap:body
>> use="literal"/></input><output><soap:body
>> use="literal"/></output></operation></binding><service
>> name="FirefoxService"><port binding="tns:P1Binding0"
>> name="P1"><soap:address
>> location="http://localhost/services/Bla"/></port></service></definitions>
>>
>>
>> ------------------------------------------------------------------------
>>
>> <?xml version="1.0" encoding="UTF-8" standalone="no"?><web-app
>> xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1"
>> xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1"><!--Created
>> by
>> XD5--><dep:environment><dep:moduleId><dep:groupId>FirefoxWsTest</dep:groupId><dep:artifactId>War1</dep:artifactId><dep:version>1.0</dep:version><dep:type>war</dep:type></dep:moduleId><dep:dependencies><dep:dependency><dep:groupId>geronimo</dep:groupId><dep:artifactId>geronimo-axis</dep:artifactId><dep:type>jar</dep:type></dep:dependency><dep:dependency><dep:groupId>geronimo</dep:groupId><dep:artifactId>geronimo-webservices</dep:artifactId><dep:type>jar</dep:type></dep:dependency></dep:dependencies></dep:environment></web-app>
>>
>>
>> ------------------------------------------------------------------------
>>
>> <?xml version="1.0" encoding="UTF-8" standalone="no"?><java-wsdl-mapping
>> xmlns:p0="http://www.ds2/firefox/ws/xml/"
>> xmlns:wsNS="http://www.ds2/firefox/ws/" version="1.1"
>> 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"
>> xmlns="http://java.sun.com/xml/ns/j2ee"><!--Created by
>> XD5--><package-mapping><package-type>firefox.test.ejb.xml</package-type><namespaceURI>http://www.ds2/firefox/ws/xml/</namespaceURI></package-mapping><java-xml-type-mapping><java-type>firefox.test.ejb.xml.ProxyInfo</java-type><root-type-qname>p0:ProxyInfoType</root-type-qname><qname-scope>complexType</qname-scope><variable-mapping><java-variable-name>serverZeit</java-variable-name><xml-element-name>serverZeit</xml-element-name></variable-mapping><variable-mapping><java-variable-name>status</java-variable-name><xml-element-name>status</xml-element-name></variable-mapping><variable-mapping>
> <j
>>  ava-variable-name>clientSperren</java-variable-name><xml-element-name>clientSperren</xml-element-name></variable-mapping><variable-mapping><java-variable-name>msg</java-variable-name><xml-element-name>msg</xml-element-name></variable-mapping></java-xml-type-mapping><service-interface-mapping><service-interface>firefox.test.ws.EPIF</service-interface><wsdl-service-name>wsNS:FirefoxService</wsdl-service-name><port-mapping><port-name>P1</port-name><java-port>P1</java-port></port-mapping></service-interface-mapping><service-endpoint-interface-mapping><service-endpoint-interface>firefox.test.ws.EPIF</service-endpoint-interface><wsdl-port-type>wsNS:P1</wsdl-port-type><wsdl-binding>wsNS:P1Binding0</wsdl-binding><service-endpoint-method-mapping><java-method-name>holeZufall</java-method-name><wsdl-operation>holeZufall</wsdl-operation><wrapped-element/><wsdl-return-value-mapping><method-return-value>int</method-return-value><wsdl-message>wsNS:P1_holeZufall_Response</wsdl-message><w
 s
> dl
>>  -message-part-name>rc</wsdl-message-part-name></wsdl-return-value-mapping></service-endpoint-method-mapping><service-endpoint-method-mapping><java-method-name>holeProxyInfo</java-method-name><wsdl-operation>getPInfo</wsdl-operation><wrapped-element/><method-param-parts-mapping><param-position>0</param-position><param-type>java.lang.String</param-type><wsdl-message-mapping><wsdl-message>wsNS:P1_getPInfo_Request</wsdl-message><wsdl-message-part-name>clientAdresse</wsdl-message-part-name><parameter-mode>IN</parameter-mode></wsdl-message-mapping></method-param-parts-mapping><wsdl-return-value-mapping><method-return-value>firefox.test.ejb.xml.ProxyInfo</method-return-value><wsdl-message>wsNS:P1_getPInfo_Response</wsdl-message><wsdl-message-part-name>rc</wsdl-message-part-name></wsdl-return-value-mapping></service-endpoint-method-mapping></service-endpoint-interface-mapping></java-wsdl-mapping>
>>
>>
>> ------------------------------------------------------------------------
>>
>> <?xml version="1.0" encoding="UTF-8" standalone="no"?><web-app
>> version="2.4" 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/web-app_2_4.xsd"
>> xmlns="http://java.sun.com/xml/ns/j2ee"><!--Created by
>> XD5--><display-name>Firefox Webservices
>> Testsite</display-name><listener><listener-class>firefox.test.listeners.StartupListener</listener-class></listener><servlet><description>Die
>> Update-RDF-Datei</description><servlet-name>updateSite</servlet-name><servlet-class>firefox.test.servlets.UpdateSite</servlet-class></servlet><servlet-mapping><servlet-name>updateSite</servlet-name><url-pattern>/update.rdf</url-pattern></servlet-mapping><servlet><servlet-name>JaxEP</servlet-name><servlet-class>firefox.test.ws.EP</servlet-class></servlet><servlet-mapping><servlet-name>JaxEP</servlet-name><url-pattern>/ep1</url-pattern></servlet-mapping><servlet><servlet-name>microsummary</servlet-name><servlet-class
>>f
>>  irefox.test.servlets.Microsummary</servlet-class></servlet><servlet-mapping><servlet-name>microsummary</servlet-name><url-pattern>/ms.xml</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jspx</welcome-file></welcome-file-list><jsp-config><taglib><taglib-uri>/fxws</taglib-uri><taglib-location>/WEB-INF/fxws.tld</taglib-location></taglib></jsp-config></web-app>
>>
>>
>> ------------------------------------------------------------------------
>>
>> <?xml version="1.0" encoding="UTF-8" standalone="no"?><webservices
>> version="1.1" 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/j2ee_web_services_1_1.xsd"
>> xmlns="http://java.sun.com/xml/ns/j2ee"><!--Created by
>> XD5--><display-name>Firefox
>> Webservice</display-name><webservice-description><description>Ein
>> Testservice zur Nutzung mit einer
>> Extension.</description><webservice-description-name>FirefoxService</webservice-description-name><wsdl-file>WEB-INF/wsdl/firefox.wsdl</wsdl-file><jaxrpc-mapping-file>WEB-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file><port-component><port-component-name>P1</port-component-name><wsdl-port
>> xmlns:ws0ns0="http://www.ds2/firefox/ws/">ws0ns0:P1</wsdl-port><service-endpoint-interface>firefox.test.ws.EPIF</service-endpoint-interface><service-impl-bean><servlet-link>JaxEP</servlet-link></service-impl-bean></port-component></webservice-description></webservices>
>>
>>
>> ------------------------------------------------------------------------
>>
>> /**
>>  *
>>  */
>> package firefox.test.ws;
>>
>> import java.util.Random;
>>
>> import javax.jws.WebMethod;
>> import javax.jws.WebService;
>>
>> import firefox.test.ejb.xml.ProxyInfo;
>>
>> import xd5.annotations.WsdlOperationsArt;
>> import xd5.annotations.ejb.XD5EjbInterfaceMethod;
>> import xd5.annotations.web.XD5WebServlet;
>> import xd5.annotations.ws.XD5WebservicePort;
>>
>> import kaeto23.tools.DebugLogger;
>>
>> /**
>>  * @author kaeto23
>>  *
>>  */
>> @WebService(serviceName="FirefoxService",portName="P1")
>> @XD5WebServlet(name="JaxEP", urlMappings={"/ep1"})
>> @XD5WebservicePort(portName="P1",
>> serviceNameID="FirefoxService",jaxRpcServletName="JaxEP",jaxRpcServiceIF="firefox.test.ws.EPIF")
>> public class EP extends DebugLogger implements EPIF {
>> 	private Random zufall=null;
>>
>> 	/**
>> 	 *
>> 	 */
>> 	public EP() {
>> 		super();
>> 		zufall=new Random();
>> 	}
>> 	@WebMethod
>> 	@XD5EjbInterfaceMethod(descr = "Liefert eine Zufallszahl
>> zur\u00fcck",wsdlOperation=WsdlOperationsArt.Notification)
>> 	public int holeZufall() {
>> 		return zufall.nextInt();
>> 	}
>> 	@XD5EjbInterfaceMethod(descr="Liefert eine Info an den
>> Client",wsdlAlias="getPInfo")
>> 	@WebMethod(operationName="getPInfo")
>> 	public ProxyInfo holeProxyInfo(String clientAdresse){
>> 		finest("Liefere Proxyinfo. Param ist "+clientAdresse);
>> 		ProxyInfo rc=new ProxyInfo();
>> 		rc.setClientSperren(false);
>> 		rc.setMsg("Hello, Client");
>> 		rc.setStatus(zufall.nextInt(3));
>> 		return rc;
>> 	}
>>
>> }
>>
>>
>> ------------------------------------------------------------------------
>>
>> /**
>>  *
>>  */
>> package firefox.test.ws;
>>
>> import java.rmi.Remote;
>> import java.rmi.RemoteException;
>>
>> import firefox.test.ejb.xml.ProxyInfo;
>>
>> /**
>>  * @author kaeto23
>>  *
>>  */
>> public interface EPIF extends Remote{
>> 	public int holeZufall() throws RemoteException;
>> 	public ProxyInfo holeProxyInfo(String clientAdresse) throws
>> RemoteException;
>> }
>
> - --
> Kaeto23
>
> HTTP: http://kaeto23.dnsalias.com (german!)
> Jabber: jabber://kaeto23@jabber.ds2/DS2
>
> Reclaim Your Inbox!
> http://www.mozilla.org/products/thunderbird/
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.2 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iD8DBQFFgVfXbiSTaBU+G6oRA20XAKCIjdhnQVBdVwq+BVcNPkasJ4d7ygCfZiEF
> d9V4lKDORtAATmp4LMir7wc=
> =cG2n
> -----END PGP SIGNATURE-----
>
>
>
>
>
> ___________________________________________________________
> Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail:
> http://mail.yahoo.de
>


Mime
View raw message