Hi Saminda,

I tried what you suggested as shown below but I'm getting a
java.lang.NullPointerException when I invoke GrouperWS. What am I doing
wrong? Once again any help would be welcome. Cheers.

Regards
Sanjay


package test;

import java.io.InputStream;

import org.apache.axis2.AxisFault;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.description.AxisService;

import edu.internet2.middleware.grouper.SubjectFinder;
import edu.internet2.middleware.subject.Subject;
import edu.internet2.middleware.subject.SubjectNotFoundException;
import edu.internet2.middleware.subject.SubjectNotUniqueException;

public class GrouperWS {
        
    private final static String GROUPER_PROPERTIES = "conf/sources.xml";
        
        public String loadResource() throws AxisFault,
SubjectNotFoundException, SubjectNotUniqueException{
                
            MessageContext context =
MessageContext.getCurrentMessageContext(); 
            AxisService service = context.getAxisService();
            ClassLoader loader = service.getClassLoader();
            InputStream stream =
loader.getResourceAsStream(GROUPER_PROPERTIES);
            
            if (stream != null) {
                String  subjectId = "[EMAIL PROTECTED]";
              Subject subject      = SubjectFinder.findById(subjectId);
              String user = subject.getId();
              return user;
                
          } else {
                  return "An error as occured";
          }

        }       
}//end of GrouperWS


>-----Original Message-----
>From: [EMAIL PROTECTED] 
>[mailto:[EMAIL PROTECTED] On Behalf Of saminda abeyruwan
>Sent: 01 December 2007 13:12
>To: [email protected]
>Subject: Re: [wsas-java-user] Service impl classes not 
>pickingup referencelibraries.
>
>Hi,
>
>There is a way to load resources on demand without 
>implementing ServiceLifeCycle interface.  Let me illustrate 
>this with a simple example.
>
>Web Service :
>
>
>public class MyWebService {
>
>       public void loadResource(String resourceName) throws AxisFault {
>            ClassLoader loader =                
>MessageContext.getCurrentMessageContext().getAxisService()
>                 .getClassLoader().getResourceAsStream(resourceName);
>
>             if (loader != null) {
>                   // do something you want
>             } else {
>                   // throw an exception or fall back to a 
>default loading mechanism. Option is up to you.
>             }
>       }       
>
>
>}
>
>Thus, to load a resource - say your aar file is MyWebService.aar - 
>should contain the resource the way you wanted. ex
>
>MyWebService.arr
>        + META-INF
>               + services.xml
>               + ...
>        + lib
>              + ...
>        + resources
>                 + foo.xml
>                 + bar.xml
>                 + ...
>
>Hence, if you wanted to load bar.xml, invoke the "loadResource" 
>operation with the argument "resources/bar.xml".
>
>HTH
>
>Thank you
>
>Saminda

_______________________________________________
Wsas-java-user mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/wsas-java-user

Reply via email to