MyEclipse Forums
Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Author Message
jkarthaus
Post subject: XFire Client inside Eclipse RCP  PostPosted: Sep 19, 2006 - 12:56 PM
Veteran Member
Veteran Member


Joined: May 26, 2004
Posts: 9

Hi I'm new to Xfire and have some Problems using XFire Client in a RCP Application

When I use the Code with a normal Class everything works fine

Code:
   public static void main(String[] args) {
      Service srvcModel = new ObjectServiceFactory().create(com.kampf.webservices.IWhoAmI.class);
      XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());

      try {
         IWhoAmI srvc = (IWhoAmI) factory.create(srvcModel, "http://localhost:8080/kampf_soa/services/WhoAmI");
         User user = srvc.getUserData(System.getProperty("user.name"));
         System.out.println(user.getNachname());
      } catch (MalformedURLException e) {
         e.printStackTrace();
      } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
      } catch (Exception e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
      }
   }



In my RCP - Application I get a NPE with the same code

Code:
Caused by: java.lang.NullPointerException
   at org.codehaus.xfire.aegis.type.basic.ObjectType.readObject(ObjectType.java:97)
   at org.codehaus.xfire.aegis.type.collection.MapType.readObject(MapType.java:70)
   at org.codehaus.xfire.aegis.type.basic.BeanType.readObject(BeanType.java:180)
   at org.codehaus.xfire.aegis.AegisBindingProvider.readParameter(AegisBindingProvider.java:155)
   at org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding.java:206)
   at org.codehaus.xfire.service.binding.WrappedBinding.readMessage(WrappedBinding.java:50)
   at org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42)
   at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
   at org.codehaus.xfire.client.Client.onReceive(Client.java:382)




Is there a problem with the RCP Classloading mechamism ??

Hope this ios no Off - Topic

Thanks for any suggestions
 
 View user's profile Send private message  
Reply with quote Back to top
support-rkalla
Post subject:   PostPosted: Sep 20, 2006 - 06:33 AM
Registered Member
Registered Member


Joined: Jan 06, 2004
Posts: 23824

Moving to OT > Soft Dev ;)

If the classloader had the problem I would expect a NoClassDefinitionFound or something like that, but getting an NPE... can you show the code for how you are loading the class or what you are doing that is causing this stack trace?

_________________
Riyad
MyEclipse Support
 
 View user's profile Send private message Visit poster's website  
Reply with quote Back to top
jkarthaus
Post subject:   PostPosted: Sep 20, 2006 - 09:06 AM
Veteran Member
Veteran Member


Joined: May 26, 2004
Posts: 9

support-rkalla wrote:
Moving to OT > Soft Dev ;)

If the classloader had the problem I would expect a NoClassDefinitionFound or something like that, but getting an NPE... can you show the code for how you are loading the class or what you are doing that is causing this stack trace?


OK!
I shedule this simple Job

Code:

package worker;

import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;

import com.kampf.webservices.IWhoAmI;
import com.kampf.webservices.modell.User;

public class GetUserDataWorker extends Job {

   public GetUserDataWorker(String name) {
      super(name);
   }

   public User user = null;

   protected IStatus run(IProgressMonitor monitor) {
      monitor.beginTask("Ermittle Benutzer Profil", 100);
      try {
         Service srvcModel = new ObjectServiceFactory().create(IWhoAmI.class);
         monitor.worked(20);
         XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
         monitor.worked(20);
         IWhoAmI srvc = (IWhoAmI) factory.create(srvcModel, "http://localhost:8080/kampf_soa/services/WhoAmI");
         monitor.worked(40);
         user = srvc.getUserData(System.getProperty("user.name"));
         monitor.worked(20);
      } catch (Exception e) {
         e.printStackTrace();
      }
      monitor.done();
      return Status.OK_STATUS;
   }

}


All XFire Librarys are in the Plugins Classpath !

Here is my Plugin Manifest


Code:
Bundle-ClassPath: lib/antlr-2.7.5H3.jar,
 lib/asm.jar,
 lib/asm-attrs.jar,
 lib/c3p0-0.8.5.2.jar,
 lib/cglib-2.1.jar,
 lib/classes12.jar,
 lib/cleanimports.jar,
 lib/connector.jar,
 lib/dom4j-1.6.jar,
 lib/ehcache-1.1.jar,
 lib/hibernate3.jar,
 lib/jaas.jar,
 lib/jacc-1_0-fr.jar,
 lib/jaxen-1.1-beta-4.jar,
 lib/jdbc2_0-stdext.jar,
 lib/jdom.jar,
 lib/jgroups-2.2.7.jar,
 lib/jta.jar,
 lib/log4j-1.2.9.jar,
 lib/ojdbc14.jar,
 lib/oscache-2.1.jar,
 lib/poi-2.5.1-final-20040804.jar,
 lib/proxool-0.8.3.jar,
 lib/standalone_authentification.jar,
 lib/swarmcache-1.0rc2.jar,
 lib/xerces-2.6.2.jar,
 lib/xml-apis.jar,
 lib/commons-collections-2.1.1.jar,
 lib/commons-logging-1.0.4.jar,
 lib/concurrent-1.3.2.jar,
 bin/,
 resources/,
 lib/rmiserver.jar,
 lib/kampf_soa_client.jar,
 lib/xfire-all-1.2.1.jar,
 lib/jaxws-api-2.0.jar,
 lib/activation-1.1.jar,
 lib/bcprov-jdk15-133.jar,
 lib/commons-attributes-api-2.1.jar,
 lib/commons-beanutils-1.7.0.jar,
 lib/commons-codec-1.3.jar,
 lib/commons-discovery-0.2.jar,
 lib/commons-httpclient-3.0.jar,
 lib/jaxb-api-2.0.jar,
 lib/jaxb-impl-2.0.1.jar,
 lib/jaxb-xjc-2.0.1.jar,
 lib/jaxen-1.1-beta-9.jar,
 lib/jdom-1.0.jar,
 lib/jmock-1.0.1.jar,
 lib/jsr173_api-1.0.jar,
 lib/junit-3.8.1.jar,
 lib/mail-1.4.jar,
 lib/opensaml-1.0.1.jar,
 lib/org.mortbay.jetty-5.1.3.jar,
 lib/saaj-api-1.3.jar,
 lib/saaj-impl-1.3.jar,
 lib/servlet-api-2.3.jar,
 lib/spring-1.2.6.jar,
 lib/stax-api-1.0.1.jar,
 lib/stax-utils-snapshot-20040917.jar,
 lib/wsdl4j-1.5.2.jar,
 lib/wss4j-1.5.0.jar,
 lib/wstx-asl-2.9.3.jar,
 lib/xbean-2.1.0.jar,
 lib/xbean-spring-2.5.jar,
 lib/xercesImpl-2.6.2.jar,
 lib/xfire-jsr181-api-1.0-M1.jar,
 lib/xml-apis-1.0.b2.jar,
 lib/XmlSchema-1.0.3.jar,
 lib/xmlsec-1.3.0.jar,
 
 View user's profile Send private message  
Reply with quote Back to top
support-rkalla
Post subject:   PostPosted: Sep 20, 2006 - 02:14 PM
Registered Member
Registered Member


Joined: Jan 06, 2004
Posts: 23824

Ok but which line is throwing the NPE exception above?

_________________
Riyad
MyEclipse Support
 
 View user's profile Send private message Visit poster's website  
Reply with quote Back to top
jkarthaus
Post subject:   PostPosted: Sep 20, 2006 - 02:31 PM
Veteran Member
Veteran Member


Joined: May 26, 2004
Posts: 9

This Line

Code:

user = srvc.getUserData(System.getProperty("user.name"));
 
 View user's profile Send private message  
Reply with quote Back to top
support-rkalla
Post subject:   PostPosted: Sep 20, 2006 - 02:37 PM
Registered Member
Registered Member


Joined: Jan 06, 2004
Posts: 23824

First I would check that your getProperty isn't returning null, also I'm not sure how the ObjectFactory works, but if it's returning null, it must document why so you can debug what is wrong.

_________________
Riyad
MyEclipse Support
 
 View user's profile Send private message Visit poster's website  
Reply with quote Back to top
jkarthaus
Post subject:   PostPosted: Sep 21, 2006 - 12:11 PM
Veteran Member
Veteran Member


Joined: May 26, 2004
Posts: 9

After some hours Debugging I found the reason

I use a Properties Object in my POJO and this causes the Problems

I replace the getter and setter with a String Object and everything works !

It seems that Collection Mapping with XFire is more complicatetd ?! - I should read more Documentation
 
 View user's profile Send private message  
Reply with quote Back to top
support-rkalla
Post subject:   PostPosted: Sep 21, 2006 - 04:22 PM
Registered Member
Registered Member


Joined: Jan 06, 2004
Posts: 23824

Ahh very cool, either way glad it's working now.

_________________
Riyad
MyEclipse Support
 
 View user's profile Send private message Visit poster's website  
Reply with quote Back to top
Display posts from previous:     
Jump to:  
All times are GMT - 6 Hours
Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Powered by PNphpBB2 © 2003-2004 The PNphpBB Group
Credits