You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Sergey Beryozkin (JIRA)" <ji...@apache.org> on 2012/07/11 23:31:36 UTC

[jira] [Resolved] (DOSGI-111) DOSGi bundle attempts to load WSDL using wrong bundle in WSDL-first configuration

     [ https://issues.apache.org/jira/browse/DOSGI-111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Beryozkin resolved DOSGI-111.
------------------------------------

    Resolution: Fixed
      Assignee: Sergey Beryozkin

The calling bundle context is now used - makes it possible to avoid exporting the wsdl/wadl resources
                
> DOSGi bundle attempts to load WSDL using wrong bundle in WSDL-first configuration 
> ----------------------------------------------------------------------------------
>
>                 Key: DOSGI-111
>                 URL: https://issues.apache.org/jira/browse/DOSGI-111
>             Project: CXF Distributed OSGi
>          Issue Type: Bug
>          Components: DSW
>    Affects Versions: 1.3
>         Environment: JRE6 (1.6.0_24)
> Felix 4.0.2
> CXF DOSGi 1.3 single bundle
>            Reporter: Adam Crossley
>            Assignee: Sergey Beryozkin
>             Fix For: 1.3.2
>
>
> I'm using a WSDL-first approach to expose a web service. My supplied WSDL file which is in my service bundle is not found during registration of the web service.
> I have the following code in my activator:
>             props = new Hashtable<String, String>();
>             props.put("service.exported.interfaces", "*");
>             props.put("service.exported.configs", "wsdl");
>             props.put("org.apache.cxf.ws.address", "http://localhost:8080/WebService");
>             props.put("osgi.remote.configuration.wsdl.service.ns", "http://tradeservice.com/");
>             props.put("osgi.remote.configuration.wsdl.service.name", "Trade");
>             props.put("osgi.remote.configuration.wsdl.port.name", "TradeSoap");
>             props.put("osgi.remote.configuration.wsdl.location", "trade.wsdl");
>             tradeRegistration = ctx.registerService(TradeWebService.class.getName(), new TradeWebServiceImpl(), props);
> The trade.wsdl file is in the root of my service bundle and is accessible by classes within my bundle.
> When the registerService() method is called I get this error:
> NullPointerException: (TopologyManager.java:333)
> I debugged through the dsw code and found the problem appears to be this line:
> WsdlConfigurationTypeHandler.java:120
>         URL wsdlURL = dswContext.getBundle().getResource(location);
> The WSDL resource is being loaded in the context of the DOSGi bundle, instead of from my service bundle, thus the file is not found and the registration fails.
> If I package my WDSL file into the DOSGi bundle, then it works and the web service registers properly and publishes my supplied WSDL.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira