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