[jira] [Commented] (ARIES-1054) Running aries subsystem 1.0.0 on felix 4.2.1 failed
[ https://issues.apache.org/jira/browse/ARIES-1054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13846296#comment-13846296 ] John Ross commented on ARIES-1054: -- I can't get the Eclipse coordinator running on Felix, this import is missing: org.eclipse.osgi.util Specifically, the package dependency is org.eclipse.osgi.util;version=[1.1,2.0). At least one bundle providing this package is the org.eclipse.equinox.supplement bundle. See ARIES-1053. Running aries subsystem 1.0.0 on felix 4.2.1 failed --- Key: ARIES-1054 URL: https://issues.apache.org/jira/browse/ARIES-1054 Project: Aries Issue Type: Bug Components: Subsystem Affects Versions: 1.0 Environment: 1 felix 4.2.1 2 glassfish v4 Reporter: TangYong Priority: Critical [Running aries subsystem 1.0.0 on felix 4.2.1 failed] putting the following bundle into felix/bundle org.apache.aries.subsystem.api_1.0.0 org.apache.aries.subsystem.core_1.0.0 org.apache.aries.subsystem.obr_1.0.0 org.apache.aries.application.api_1.0.0 org.apache.aries.application.modeller_1.0.0 org.apache.aries.application.utils_1.0.0 org.apache.aries.blueprint_1.1.0 org.apache.aries.proxy_1.0.1 org.apache.aries.util_1.1.0 org.apache.felix.bundlerepository_1.6.6 org.apache.felix.resolver_1.0.0 org.eclipse.equinox.coordinator_1.1.0.v20120522-1841 org.eclipse.equinox.region_1.1.0.v20120522-1841 slf4j.api_1.5.11 slf4j.simple_1.5.11 org.apache.felix.configadmin-1.6.0.jar Then, staring felix and the following exception happend, 578 [FelixStartLevel] INFO org.apache.aries.blueprint.container.BlueprintExtender - No quiesce support is available, so blueprint comp Welcome to Apache Felix Gogo g! 1765 [Blueprint Extender: 1] ERROR org.apache.aries.subsystem.core.internal.Utils - Resource could not be installed org.osgi.service.coordinator.CoordinationException: Coordination has failed at org.eclipse.equinox.coordinator.CoordinationImpl.checkTerminated(CoordinationImpl.java:393) at org.eclipse.equinox.coordinator.CoordinationImpl.terminate(CoordinationImpl.java:401) at org.eclipse.equinox.coordinator.CoordinationImpl.end(CoordinationImpl.java:152) at org.eclipse.equinox.coordinator.CoordinationReferent.end(CoordinationReferent.java:38) at org.apache.aries.subsystem.core.internal.Utils.installResource(Utils.java:81) at org.apache.aries.subsystem.core.internal.RegionContextBundleHelper.installRegionContextBundle(RegionContextBundleHelper.jav at org.apache.aries.subsystem.core.internal.SubsystemResourceInstaller.installRegionContextBundle(SubsystemResourceInstaller.j at org.apache.aries.subsystem.core.internal.SubsystemResourceInstaller.installAriesSubsystem(SubsystemResourceInstaller.java:9 at org.apache.aries.subsystem.core.internal.SubsystemResourceInstaller.install(SubsystemResourceInstaller.java:40) at org.apache.aries.subsystem.core.internal.Subsystems.getRootSubsystem(Subsystems.java:131) at org.apache.aries.subsystem.core.internal.Activator.activate(Activator.java:164) at org.apache.aries.subsystem.core.internal.Activator.addingService(Activator.java:264) at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932) at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:864) at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:894) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543) at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4419) at org.apache.felix.framework.Felix.registerService(Felix.java:3423) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346) at org.apache.aries.blueprint.container.BlueprintContainerImpl.registerService(BlueprintContainerImpl.java:439) at org.apache.aries.blueprint.container.ServiceRecipe.register(ServiceRecipe.java:190) at org.apache.aries.blueprint.container.BlueprintContainerImpl.registerServices(BlueprintContainerImpl.java:690) at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:369) at
[jira] [Created] (ARIES-1140) Injected java.lang.reflect.Proxy implements only single interface
Andrei Shakirin created ARIES-1140: -- Summary: Injected java.lang.reflect.Proxy implements only single interface Key: ARIES-1140 URL: https://issues.apache.org/jira/browse/ARIES-1140 Project: Aries Issue Type: Improvement Components: Proxy Affects Versions: proxy-impl-1.0.1 Reporter: Andrei Shakirin Hi, I have a problem in using Blueprint together with CXF and Karaf projects. The use case is quite trivial: I inject OSGi service into java class source. This OSGi service is exposed by declared jax-ws client. 1. Blueprint configuration exporting service: blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:cxf=http://cxf.apache.org/blueprint/core; xmlns:jaxws=http://cxf.apache.org/blueprint/jaxws; xsi:schemaLocation=http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://cxf.apache.org/blueprint/jaxws http://cxf.apache.org/schemas/blueprint/jaxws.xsd http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd jaxws:client id=crmClient xmlns:serviceNamespace=http://services.talend.org/CRMService; serviceClass=org.talend.services.crmservice.CRMService serviceName=serviceNamespace:CRMServiceProvider endpointName=serviceNamespace:CRMServicePort address=http://localhost:8080/service/CRMService/ service ref=crmClient interface=org.talend.services.crmservice.CRMService / /blueprint Where org.talend.services.crmservice.CRMService is generated jax-ws interface 2. Blueprint configuration importing service: blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd; reference id=CRMServiceClient interface=org.talend.services.crmservice.CRMService / bean id=TestClass class=org.talend..demo.TestClass property name=crms ref=CRMServiceClient / /bean /blueprint 3. Code in TestClass: ... private CRMService crms; public void setCrms(CRMService crms) { this.crms = crms; System.out.println(crms.getClass()); System.out.println(crms.toString()); System.out.println(crms instanceof BindingProvider); } ... Problem: The problem is that crms proxy, injected into TestClass, implements only org.talend.services.crmservice.CRMService. The proxy calls methods of org.apache.cxf.jaxws.JaxWsClientProxy which implements javax.xml.ws.BindingProvider interface. I expect that crms proxy also implements javax.xml.ws.BindingProvider, but it is not the case. I have the following output from setCrms: class com.sun.proxy.$Proxy151 org.apache.cxf.jaxws.JaxWsClientProxy@c3f8b42 false The proxy calls toString() method of JaxWsClientProxy, but it is not instance of BindingProvider interface. The problem is that this proxy is not jax-ws compatible, because spec requires that all proxies implementing BindingProvider interface. Interesting that Spring DM proxy hasn't such problem: it implements BindingProvider interface in this scenario. Is it Blueprint problem? (seems to be true for me) Is there way to fix this in Blueprint? Regards, Andrei. -- This message was sent by Atlassian JIRA (v6.1.4#6159)
Re: [jira] [Created] (ARIES-1140) Injected java.lang.reflect.Proxy implements only single interface
On Dec 12, 2013, at 10:30 AM, Andrei Shakirin (JIRA) j...@apache.org wrote: Andrei Shakirin created ARIES-1140: -- Summary: Injected java.lang.reflect.Proxy implements only single interface Key: ARIES-1140 URL: https://issues.apache.org/jira/browse/ARIES-1140 Project: Aries Issue Type: Improvement Components: Proxy Affects Versions: proxy-impl-1.0.1 Reporter: Andrei Shakirin Hi, I have a problem in using Blueprint together with CXF and Karaf projects. The use case is quite trivial: I inject OSGi service into java class source. This OSGi service is exposed by declared jax-ws client. 1. Blueprint configuration exporting service: blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:cxf=http://cxf.apache.org/blueprint/core; xmlns:jaxws=http://cxf.apache.org/blueprint/jaxws; xsi:schemaLocation=http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://cxf.apache.org/blueprint/jaxws http://cxf.apache.org/schemas/blueprint/jaxws.xsd http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd jaxws:client id=crmClient xmlns:serviceNamespace=http://services.talend.org/CRMService; serviceClass=org.talend.services.crmservice.CRMService serviceName=serviceNamespace:CRMServiceProvider endpointName=serviceNamespace:CRMServicePort address=http://localhost:8080/service/CRMService/ service ref=crmClient interface=org.talend.services.crmservice.CRMService / /blueprint Where org.talend.services.crmservice.CRMService is generated jax-ws interface 2. Blueprint configuration importing service: blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd; reference id=CRMServiceClient interface=org.talend.services.crmservice.CRMService / bean id=TestClass class=org.talend..demo.TestClass property name=crms ref=CRMServiceClient / /bean /blueprint 3. Code in TestClass: ... private CRMService crms; public void setCrms(CRMService crms) { this.crms = crms; System.out.println(crms.getClass()); System.out.println(crms.toString()); System.out.println(crms instanceof BindingProvider); } ... Problem: The problem is that crms proxy, injected into TestClass, implements only org.talend.services.crmservice.CRMService. The proxy calls methods of org.apache.cxf.jaxws.JaxWsClientProxy which implements javax.xml.ws.BindingProvider interface. I expect that crms proxy also implements javax.xml.ws.BindingProvider, but it is not the case. I have the following output from setCrms: class com.sun.proxy.$Proxy151 org.apache.cxf.jaxws.JaxWsClientProxy@c3f8b42 false The proxy calls toString() method of JaxWsClientProxy, but it is not instance of BindingProvider interface. The problem is that this proxy is not jax-ws compatible, because spec requires that all proxies implementing BindingProvider interface. Interesting that Spring DM proxy hasn't such problem: it implements BindingProvider interface in this scenario. Is it Blueprint problem? (seems to be true for me) Is there way to fix this in Blueprint? Regards, Andrei. -- This message was sent by Atlassian JIRA (v6.1.4#6159) -- Daniel Kulp dk...@apache.org - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com
[jira] [Commented] (ARIES-1140) Injected java.lang.reflect.Proxy implements only single interface
[ https://issues.apache.org/jira/browse/ARIES-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13846504#comment-13846504 ] Richard Ellis commented on ARIES-1140: -- Does the generated interface org.talend.services.crmservice.CRMService extend javax.xml.ws.BindingProvider? Section 121.7.11 of the Blueprint spec says that a service reference proxy must only support the methods of the given interface i.e. in this case the org.talend.services.crmservice.CRMService interface. Injected java.lang.reflect.Proxy implements only single interface - Key: ARIES-1140 URL: https://issues.apache.org/jira/browse/ARIES-1140 Project: Aries Issue Type: Improvement Components: Proxy Affects Versions: proxy-impl-1.0.1 Reporter: Andrei Shakirin Hi, I have a problem in using Blueprint together with CXF and Karaf projects. The use case is quite trivial: I inject OSGi service into java class source. This OSGi service is exposed by declared jax-ws client. 1. Blueprint configuration exporting service: blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:cxf=http://cxf.apache.org/blueprint/core; xmlns:jaxws=http://cxf.apache.org/blueprint/jaxws; xsi:schemaLocation=http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://cxf.apache.org/blueprint/jaxws http://cxf.apache.org/schemas/blueprint/jaxws.xsd http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd jaxws:client id=crmClient xmlns:serviceNamespace=http://services.talend.org/CRMService; serviceClass=org.talend.services.crmservice.CRMService serviceName=serviceNamespace:CRMServiceProvider endpointName=serviceNamespace:CRMServicePort address=http://localhost:8080/service/CRMService/ service ref=crmClient interface=org.talend.services.crmservice.CRMService / /blueprint Where org.talend.services.crmservice.CRMService is generated jax-ws interface 2. Blueprint configuration importing service: blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd; reference id=CRMServiceClient interface=org.talend.services.crmservice.CRMService / bean id=TestClass class=org.talend..demo.TestClass property name=crms ref=CRMServiceClient / /bean /blueprint 3. Code in TestClass: ... private CRMService crms; public void setCrms(CRMService crms) { this.crms = crms; System.out.println(crms.getClass()); System.out.println(crms.toString()); System.out.println(crms instanceof BindingProvider); } ... Problem: The problem is that crms proxy, injected into TestClass, implements only org.talend.services.crmservice.CRMService. The proxy calls methods of org.apache.cxf.jaxws.JaxWsClientProxy which implements javax.xml.ws.BindingProvider interface. I expect that crms proxy also implements javax.xml.ws.BindingProvider, but it is not the case. I have the following output from setCrms: class com.sun.proxy.$Proxy151 org.apache.cxf.jaxws.JaxWsClientProxy@c3f8b42 false The proxy calls toString() method of JaxWsClientProxy, but it is not instance of BindingProvider interface. The problem is that this proxy is not jax-ws compatible, because spec requires that all proxies implementing BindingProvider interface. Interesting that Spring DM proxy hasn't such problem: it implements BindingProvider interface in this scenario. Is it Blueprint problem? (seems to be true for me) Is there way to fix this in Blueprint? Regards, Andrei. -- This message was sent by Atlassian JIRA (v6.1.4#6159)
[jira] [Updated] (ARIES-1140) Injected java.lang.reflect.Proxy implements only single interface
[ https://issues.apache.org/jira/browse/ARIES-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Daniel Kulp updated ARIES-1140: --- Description: Hi, I have a problem in using Blueprint together with CXF and Karaf projects. The use case is quite trivial: I inject OSGi service into java class source. This OSGi service is exposed by declared jax-ws client. 1. Blueprint configuration exporting service: {code:xml} blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:cxf=http://cxf.apache.org/blueprint/core; xmlns:jaxws=http://cxf.apache.org/blueprint/jaxws; xsi:schemaLocation=http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://cxf.apache.org/blueprint/jaxws http://cxf.apache.org/schemas/blueprint/jaxws.xsd http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd jaxws:client id=crmClient xmlns:serviceNamespace=http://services.talend.org/CRMService; serviceClass=org.talend.services.crmservice.CRMService serviceName=serviceNamespace:CRMServiceProvider endpointName=serviceNamespace:CRMServicePort address=http://localhost:8080/service/CRMService/ service ref=crmClient interface=org.talend.services.crmservice.CRMService / /blueprint {code} Where org.talend.services.crmservice.CRMService is generated jax-ws interface 2. Blueprint configuration importing service: {code:xml} blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd; reference id=CRMServiceClient interface=org.talend.services.crmservice.CRMService / bean id=TestClass class=org.talend..demo.TestClass property name=crms ref=CRMServiceClient / /bean /blueprint {code} 3. Code in TestClass: {code:java} ... private CRMService crms; public void setCrms(CRMService crms) { this.crms = crms; System.out.println(crms.getClass()); System.out.println(crms.toString()); System.out.println(crms instanceof BindingProvider); } ... {code} Problem: The problem is that crms proxy, injected into TestClass, implements only org.talend.services.crmservice.CRMService. The proxy calls methods of org.apache.cxf.jaxws.JaxWsClientProxy which implements javax.xml.ws.BindingProvider interface. I expect that crms proxy also implements javax.xml.ws.BindingProvider, but it is not the case. I have the following output from setCrms: class com.sun.proxy.$Proxy151 org.apache.cxf.jaxws.JaxWsClientProxy@c3f8b42 false The proxy calls toString() method of JaxWsClientProxy, but it is not instance of BindingProvider interface. The problem is that this proxy is not jax-ws compatible, because spec requires that all proxies implementing BindingProvider interface. Interesting that Spring DM proxy hasn't such problem: it implements BindingProvider interface in this scenario. Is it Blueprint problem? (seems to be true for me) Is there way to fix this in Blueprint? Regards, Andrei. was: Hi, I have a problem in using Blueprint together with CXF and Karaf projects. The use case is quite trivial: I inject OSGi service into java class source. This OSGi service is exposed by declared jax-ws client. 1. Blueprint configuration exporting service: blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:cxf=http://cxf.apache.org/blueprint/core; xmlns:jaxws=http://cxf.apache.org/blueprint/jaxws; xsi:schemaLocation=http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://cxf.apache.org/blueprint/jaxws http://cxf.apache.org/schemas/blueprint/jaxws.xsd http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd jaxws:client id=crmClient xmlns:serviceNamespace=http://services.talend.org/CRMService; serviceClass=org.talend.services.crmservice.CRMService serviceName=serviceNamespace:CRMServiceProvider endpointName=serviceNamespace:CRMServicePort address=http://localhost:8080/service/CRMService/ service ref=crmClient interface=org.talend.services.crmservice.CRMService / /blueprint Where org.talend.services.crmservice.CRMService is generated jax-ws interface 2. Blueprint configuration importing service: blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://www.osgi.org/xmlns/blueprint/v1.0.0
[jira] [Commented] (ARIES-1140) Injected java.lang.reflect.Proxy implements only single interface
[ https://issues.apache.org/jira/browse/ARIES-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13846509#comment-13846509 ] Daniel Kulp commented on ARIES-1140: I *think* the only thing you could do would be to register a second service reference: service ref=crmClientBindingProvider interface=javax.xml.ws.BindingProvider / and inject that in as well. That would likely be a bit fragile as you could have many BindingProvider services. You'd probably want to stick a property on there to identify the other service it's associated with. Injected java.lang.reflect.Proxy implements only single interface - Key: ARIES-1140 URL: https://issues.apache.org/jira/browse/ARIES-1140 Project: Aries Issue Type: Improvement Components: Proxy Affects Versions: proxy-impl-1.0.1 Reporter: Andrei Shakirin Hi, I have a problem in using Blueprint together with CXF and Karaf projects. The use case is quite trivial: I inject OSGi service into java class source. This OSGi service is exposed by declared jax-ws client. 1. Blueprint configuration exporting service: {code:xml} blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:cxf=http://cxf.apache.org/blueprint/core; xmlns:jaxws=http://cxf.apache.org/blueprint/jaxws; xsi:schemaLocation=http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://cxf.apache.org/blueprint/jaxws http://cxf.apache.org/schemas/blueprint/jaxws.xsd http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd jaxws:client id=crmClient xmlns:serviceNamespace=http://services.talend.org/CRMService; serviceClass=org.talend.services.crmservice.CRMService serviceName=serviceNamespace:CRMServiceProvider endpointName=serviceNamespace:CRMServicePort address=http://localhost:8080/service/CRMService/ service ref=crmClient interface=org.talend.services.crmservice.CRMService / /blueprint {code} Where org.talend.services.crmservice.CRMService is generated jax-ws interface 2. Blueprint configuration importing service: {code:xml} blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd; reference id=CRMServiceClient interface=org.talend.services.crmservice.CRMService / bean id=TestClass class=org.talend..demo.TestClass property name=crms ref=CRMServiceClient / /bean /blueprint {code} 3. Code in TestClass: {code:java} ... private CRMService crms; public void setCrms(CRMService crms) { this.crms = crms; System.out.println(crms.getClass()); System.out.println(crms.toString()); System.out.println(crms instanceof BindingProvider); } ... {code} Problem: The problem is that crms proxy, injected into TestClass, implements only org.talend.services.crmservice.CRMService. The proxy calls methods of org.apache.cxf.jaxws.JaxWsClientProxy which implements javax.xml.ws.BindingProvider interface. I expect that crms proxy also implements javax.xml.ws.BindingProvider, but it is not the case. I have the following output from setCrms: class com.sun.proxy.$Proxy151 org.apache.cxf.jaxws.JaxWsClientProxy@c3f8b42 false The proxy calls toString() method of JaxWsClientProxy, but it is not instance of BindingProvider interface. The problem is that this proxy is not jax-ws compatible, because spec requires that all proxies implementing BindingProvider interface. Interesting that Spring DM proxy hasn't such problem: it implements BindingProvider interface in this scenario. Is it Blueprint problem? (seems to be true for me) Is there way to fix this in Blueprint? Regards, Andrei. -- This message was sent by Atlassian JIRA (v6.1.4#6159)
[jira] [Commented] (ARIES-1140) Injected java.lang.reflect.Proxy implements only single interface
[ https://issues.apache.org/jira/browse/ARIES-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13847224#comment-13847224 ] Christian Schneider commented on ARIES-1140: Can we let the blueprint proxy implement all interfaces it finds by reflection? Or at least all interfaces the services is published with? Injected java.lang.reflect.Proxy implements only single interface - Key: ARIES-1140 URL: https://issues.apache.org/jira/browse/ARIES-1140 Project: Aries Issue Type: Improvement Components: Proxy Affects Versions: proxy-impl-1.0.1 Reporter: Andrei Shakirin Hi, I have a problem in using Blueprint together with CXF and Karaf projects. The use case is quite trivial: I inject OSGi service into java class source. This OSGi service is exposed by declared jax-ws client. 1. Blueprint configuration exporting service: {code:xml} blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:cxf=http://cxf.apache.org/blueprint/core; xmlns:jaxws=http://cxf.apache.org/blueprint/jaxws; xsi:schemaLocation=http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://cxf.apache.org/blueprint/jaxws http://cxf.apache.org/schemas/blueprint/jaxws.xsd http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd jaxws:client id=crmClient xmlns:serviceNamespace=http://services.talend.org/CRMService; serviceClass=org.talend.services.crmservice.CRMService serviceName=serviceNamespace:CRMServiceProvider endpointName=serviceNamespace:CRMServicePort address=http://localhost:8080/service/CRMService/ service ref=crmClient interface=org.talend.services.crmservice.CRMService / /blueprint {code} Where org.talend.services.crmservice.CRMService is generated jax-ws interface 2. Blueprint configuration importing service: {code:xml} blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd; reference id=CRMServiceClient interface=org.talend.services.crmservice.CRMService / bean id=TestClass class=org.talend..demo.TestClass property name=crms ref=CRMServiceClient / /bean /blueprint {code} 3. Code in TestClass: {code:java} ... private CRMService crms; public void setCrms(CRMService crms) { this.crms = crms; System.out.println(crms.getClass()); System.out.println(crms.toString()); System.out.println(crms instanceof BindingProvider); } ... {code} Problem: The problem is that crms proxy, injected into TestClass, implements only org.talend.services.crmservice.CRMService. The proxy calls methods of org.apache.cxf.jaxws.JaxWsClientProxy which implements javax.xml.ws.BindingProvider interface. I expect that crms proxy also implements javax.xml.ws.BindingProvider, but it is not the case. I have the following output from setCrms: class com.sun.proxy.$Proxy151 org.apache.cxf.jaxws.JaxWsClientProxy@c3f8b42 false The proxy calls toString() method of JaxWsClientProxy, but it is not instance of BindingProvider interface. The problem is that this proxy is not jax-ws compatible, because spec requires that all proxies implementing BindingProvider interface. Interesting that Spring DM proxy hasn't such problem: it implements BindingProvider interface in this scenario. Is it Blueprint problem? (seems to be true for me) Is there way to fix this in Blueprint? Regards, Andrei. -- This message was sent by Atlassian JIRA (v6.1.4#6159)