WSM client control can not load WSDL file from @WSDL annotation
---------------------------------------------------------------

         Key: BEEHIVE-769
         URL: http://issues.apache.org/jira/browse/BEEHIVE-769
     Project: Beehive
        Type: Bug
  Components: Controls  
    Versions: V1    
 Environment: Win XP SP2, JDK 1.5.03
    Reporter: Yongqin Xu
    Priority: Critical


In WSM web service client control, I specified @WSDL(path="Skugen.wsdl"...) as 
I did before. But latest unit test failed with following error:

-------------------------------------------------------------------------
bcc
java.lang.NullPointerException: bcc
        at 
java.beans.beancontext.BeanContextSupport.getResourceAsStream(BeanContextSupport.java:646)
        at 
org.apache.beehive.controls.system.webservice.jaxrpc.ServiceControlImpl.getWSDLStream(ServiceControlImpl.java:514)
        at 
org.apache.beehive.controls.system.webservice.jaxrpc.ServiceControlImpl.initialize(ServiceControlImpl.java:457)
        at 
org.apache.beehive.controls.system.webservice.jaxrpc.ServiceControlImpl.invoke(ServiceControlImpl.java:126)
        at 
com.bea.wlw.aa.skugen.ws.GenerateSKUBean.ping(GenerateSKUBean.java:124)
        at 
com.bea.wlw.aa.skugen.ws.SkuGeneratorClientControlTest.testPing(SkuGeneratorClientControlTest.java:80)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 

----------------------------------------------------------------------------

According to stack trace. In source code:
org.apache.beehive.controls.system.webservice.jaxrpc.ServiceControlImpl.java,
the private method getWSDLStream(String), at line 514:

wsdlStream =cbContext.getBeanContext().getResourceAsStream(pathToWSDL, null);

The second parameter is "null". But by checking JDK source code 1.5.03 in
java.beans.beancontext.BeanContextSupport.java, at line 644, the method:

    public InputStream getResourceAsStream(String name, BeanContextChild bcc) {
        if (name == null) throw new NullPointerException("name");
        if (bcc  == null) throw new NullPointerException("bcc");

        if (containsKey(bcc)) {
            ClassLoader cl = bcc.getClass().getClassLoader();

            return cl != null ? cl.getResourceAsStream(name)
                              : ClassLoader.getSystemResourceAsStream(name);
        } else throw new IllegalArgumentException("Not a valid child");
    }

"bcc" is required somehow, that is why the NullPointerException happened.



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to