You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Manuel EVENO <ma...@gmail.com> on 2008/07/09 10:17:35 UTC

Creating a pass-through mediation in ServiceMix

Hi,

I want to create a pass-through mediation for a web service.
So I want to cxf-bc:provider and consumer to expose and consume the same
WSDL.
The point here is the service and the endpoint name are the same so
ServiceMix doesn't accept
to deploy the consumer.

We want to do that to be able to add audit and security steps in the esb.

The only solution I found is to create a fake endpoint for the consumer
service ...

here is the services configuration :

    <context:property-placeholder
location="classpath:esb-client-services.properties"/>

    <cxfbc:consumer wsdl="classpath:HelloService.wsdl"
        service="hello:HelloService"
        endpoint="*exposedHelloService*" // Here is the fake endpoint
        targetUri="${esb.client.services.rootUrl}/helloService"
        targetService="hello:HelloService"
        targetEndpoint="HelloService"
        />

    <cxfbc:provider
        wsdl="classpath:HelloService.wsdl"
        service="hello:HelloService"
        endpoint="HelloService"
        locationURI="${ekip.client.services.rootUrl}/HelloService"
        />

Thanks for helping me !
Manuel

Re: Creating a pass-through mediation in ServiceMix

Posted by Manuel EVENO <ma...@gmail.com>.
Ok thanks !

Manuel

On Wed, Jul 16, 2008 at 3:19 PM, Guillaume Nodet <gn...@gmail.com> wrote:

> Yeah, the problem is in the internal registry of the component.  The
> fix would be to change the computation of the key for an endpoint,
> however, doing that could have a big impact so we need to be very
> careful and check the consequences.  Anyway, please raise a JIRA, but
> in the mean time, i would suggest go the way you did, which is to give
> a different endpoint name.
>
> On Wed, Jul 16, 2008 at 2:08 PM, Manuel EVENO <ma...@gmail.com>
> wrote:
> > Yes I was hoping too that the registry would make a difference between a
> > provider and a consumer ....
> >
> > Here is the full exception
> >
> > <component-task-result xmlns="
> > http://java.sun.com/xml/ns/jbi/management-message">
> >    <component-name>servicemix-cxf-bc</component-name>
> >    <component-task-result-details>
> >        <task-result-details>
> >            <task-id>deploy</task-id>
> >            <task-result>FAILED</task-result>
> >            <message-type>ERROR</message-type>
> >            <task-status-msg>
> > <msg-loc-info>
> > <loc-token/>
> > <loc-message>Unable to deploy service unit</loc-message>
> > </msg-loc-info>
> > </task-status-msg>
> >            <exception-info>
> >                <nesting-level>1</nesting-level>
> >                <msg-loc-info>
> >                    <loc-token/>
> >                    <loc-message>An endpoint is already registered for
> key:
> > {http://hello.samples.sofinco.com
> }HelloService:HelloService</loc-message>
> >                    <stack-trace><![CDATA[java.lang.IllegalStateException:
> > An endpoint is already registered for key: {
> http://hello.samples.sofinco.com
> > }HelloService:HelloService
> >    at
> > org.apache.servicemix.common.Registry.registerEndpoint(Registry.java:55)
> >    at
> >
> org.apache.servicemix.common.Registry.registerServiceUnit(Registry.java:68)
> >    at
> >
> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:73)
> >    at
> >
> org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:508)
> >    at
> >
> org.apache.servicemix.jbi.framework.DeploymentService.deploy(DeploymentService.java:206)
> >    at
> >
> org.apache.servicemix.jbi.framework.AdminCommandsService.deployServiceAssembly(AdminCommandsService.java:212)
> >    at
> >
> org.apache.servicemix.jbi.container.DeployServiceAssembly.doDeploy(DeployServiceAssembly.java:57)
> >    at
> >
> org.apache.servicemix.jbi.container.DeploySupport.deploy(DeploySupport.java:58)
> >    at
> >
> org.apache.servicemix.jbi.container.SpringJBIContainer.afterPropertiesSet(SpringJBIContainer.java:111)
> >    at
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)
> >    at
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
> >    at
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
> >    at
> >
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> >    at
> >
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> >    at
> >
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> >    at
> >
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> >    at
> >
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
> >    at
> >
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
> >    at
> >
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:122)
> >    at
> >
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:76)
> >    at
> >
> com.sofinco.capi.esb.test.ServiceMixConfigurationTest.setUp(ServiceMixConfigurationTest.java:43)
> >    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >    at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >    at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >    at java.lang.reflect.Method.invoke(Method.java:585)
> >    at
> > org.junit.internal.runners.MethodRoadie.runBefores(MethodRoadie.java:122)
> >    at
> >
> org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:86)
> >    at
> org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
> >    at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
> >    at
> >
> org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
> >    at
> >
> org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
> >    at
> >
> org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
> >    at
> >
> org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
> >    at
> > org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
> >    at
> >
> org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
> >    at
> >
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
> >    at
> >
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> >    at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> >    at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> >    at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> >    at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> > ]]></stack-trace>
> >                </msg-loc-info>
> >            </exception-info>
> >        </task-result-details>
> >    </component-task-result-details>
> > </component-task-result>
> >
> >
> >
> >
> > On Wed, Jul 16, 2008 at 9:19 AM, Guillaume Nodet <gn...@gmail.com>
> wrote:
> >
> >> The container does support this, but the problem may come from the
> >> component which does not make any difference between a consumer
> >> endpoint and a provider endpoint in its internal registry.
> >> Could you paste the full exception stack trace please ?
> >> I'm not sure if there is a workaround for this problem at this point
> >> (but to end up with a different name).
> >>
> >> On Wed, Jul 16, 2008 at 8:46 AM, Manuel EVENO <ma...@gmail.com>
> >> wrote:
> >> > Am I missing something really obvious so that no one wants to answer
> me ?
> >> >
> >> > On Wed, Jul 9, 2008 at 10:17 AM, Manuel EVENO <manuel.eveno@gmail.com
> >
> >> > wrote:
> >> >
> >> >> Hi,
> >> >>
> >> >> I want to create a pass-through mediation for a web service.
> >> >> So I want to cxf-bc:provider and consumer to expose and consume the
> same
> >> >> WSDL.
> >> >> The point here is the service and the endpoint name are the same so
> >> >> ServiceMix doesn't accept
> >> >> to deploy the consumer.
> >> >>
> >> >> We want to do that to be able to add audit and security steps in the
> >> esb.
> >> >>
> >> >> The only solution I found is to create a fake endpoint for the
> consumer
> >> >> service ...
> >> >>
> >> >> here is the services configuration :
> >> >>
> >> >>     <context:property-placeholder
> >> >> location="classpath:esb-client-services.properties"/>
> >> >>
> >> >>     <cxfbc:consumer wsdl="classpath:HelloService.wsdl"
> >> >>         service="hello:HelloService"
> >> >>         endpoint="*exposedHelloService*" // Here is the fake endpoint
> >> >>         targetUri="${esb.client.services.rootUrl}/helloService"
> >> >>         targetService="hello:HelloService"
> >> >>         targetEndpoint="HelloService"
> >> >>         />
> >> >>
> >> >>     <cxfbc:provider
> >> >>         wsdl="classpath:HelloService.wsdl"
> >> >>         service="hello:HelloService"
> >> >>         endpoint="HelloService"
> >> >>         locationURI="${ekip.client.services.rootUrl}/HelloService"
> >> >>         />
> >> >>
> >> >> Thanks for helping me !
> >> >> Manuel
> >> >>
> >> >>
> >> >
> >>
> >>
> >>
> >> --
> >> Cheers,
> >> Guillaume Nodet
> >> ------------------------
> >> Blog: http://gnodet.blogspot.com/
> >>
> >
>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
>

Re: Creating a pass-through mediation in ServiceMix

Posted by Guillaume Nodet <gn...@gmail.com>.
Yeah, the problem is in the internal registry of the component.  The
fix would be to change the computation of the key for an endpoint,
however, doing that could have a big impact so we need to be very
careful and check the consequences.  Anyway, please raise a JIRA, but
in the mean time, i would suggest go the way you did, which is to give
a different endpoint name.

On Wed, Jul 16, 2008 at 2:08 PM, Manuel EVENO <ma...@gmail.com> wrote:
> Yes I was hoping too that the registry would make a difference between a
> provider and a consumer ....
>
> Here is the full exception
>
> <component-task-result xmlns="
> http://java.sun.com/xml/ns/jbi/management-message">
>    <component-name>servicemix-cxf-bc</component-name>
>    <component-task-result-details>
>        <task-result-details>
>            <task-id>deploy</task-id>
>            <task-result>FAILED</task-result>
>            <message-type>ERROR</message-type>
>            <task-status-msg>
> <msg-loc-info>
> <loc-token/>
> <loc-message>Unable to deploy service unit</loc-message>
> </msg-loc-info>
> </task-status-msg>
>            <exception-info>
>                <nesting-level>1</nesting-level>
>                <msg-loc-info>
>                    <loc-token/>
>                    <loc-message>An endpoint is already registered for key:
> {http://hello.samples.sofinco.com}HelloService:HelloService</loc-message>
>                    <stack-trace><![CDATA[java.lang.IllegalStateException:
> An endpoint is already registered for key: {http://hello.samples.sofinco.com
> }HelloService:HelloService
>    at
> org.apache.servicemix.common.Registry.registerEndpoint(Registry.java:55)
>    at
> org.apache.servicemix.common.Registry.registerServiceUnit(Registry.java:68)
>    at
> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:73)
>    at
> org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:508)
>    at
> org.apache.servicemix.jbi.framework.DeploymentService.deploy(DeploymentService.java:206)
>    at
> org.apache.servicemix.jbi.framework.AdminCommandsService.deployServiceAssembly(AdminCommandsService.java:212)
>    at
> org.apache.servicemix.jbi.container.DeployServiceAssembly.doDeploy(DeployServiceAssembly.java:57)
>    at
> org.apache.servicemix.jbi.container.DeploySupport.deploy(DeploySupport.java:58)
>    at
> org.apache.servicemix.jbi.container.SpringJBIContainer.afterPropertiesSet(SpringJBIContainer.java:111)
>    at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)
>    at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
>    at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
>    at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
>    at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
>    at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
>    at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>    at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
>    at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
>    at
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:122)
>    at
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:76)
>    at
> com.sofinco.capi.esb.test.ServiceMixConfigurationTest.setUp(ServiceMixConfigurationTest.java:43)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    at java.lang.reflect.Method.invoke(Method.java:585)
>    at
> org.junit.internal.runners.MethodRoadie.runBefores(MethodRoadie.java:122)
>    at
> org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:86)
>    at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
>    at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
>    at
> org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
>    at
> org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
>    at
> org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
>    at
> org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
>    at
> org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
>    at
> org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
>    at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
>    at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>    at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
>    at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
>    at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
>    at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> ]]></stack-trace>
>                </msg-loc-info>
>            </exception-info>
>        </task-result-details>
>    </component-task-result-details>
> </component-task-result>
>
>
>
>
> On Wed, Jul 16, 2008 at 9:19 AM, Guillaume Nodet <gn...@gmail.com> wrote:
>
>> The container does support this, but the problem may come from the
>> component which does not make any difference between a consumer
>> endpoint and a provider endpoint in its internal registry.
>> Could you paste the full exception stack trace please ?
>> I'm not sure if there is a workaround for this problem at this point
>> (but to end up with a different name).
>>
>> On Wed, Jul 16, 2008 at 8:46 AM, Manuel EVENO <ma...@gmail.com>
>> wrote:
>> > Am I missing something really obvious so that no one wants to answer me ?
>> >
>> > On Wed, Jul 9, 2008 at 10:17 AM, Manuel EVENO <ma...@gmail.com>
>> > wrote:
>> >
>> >> Hi,
>> >>
>> >> I want to create a pass-through mediation for a web service.
>> >> So I want to cxf-bc:provider and consumer to expose and consume the same
>> >> WSDL.
>> >> The point here is the service and the endpoint name are the same so
>> >> ServiceMix doesn't accept
>> >> to deploy the consumer.
>> >>
>> >> We want to do that to be able to add audit and security steps in the
>> esb.
>> >>
>> >> The only solution I found is to create a fake endpoint for the consumer
>> >> service ...
>> >>
>> >> here is the services configuration :
>> >>
>> >>     <context:property-placeholder
>> >> location="classpath:esb-client-services.properties"/>
>> >>
>> >>     <cxfbc:consumer wsdl="classpath:HelloService.wsdl"
>> >>         service="hello:HelloService"
>> >>         endpoint="*exposedHelloService*" // Here is the fake endpoint
>> >>         targetUri="${esb.client.services.rootUrl}/helloService"
>> >>         targetService="hello:HelloService"
>> >>         targetEndpoint="HelloService"
>> >>         />
>> >>
>> >>     <cxfbc:provider
>> >>         wsdl="classpath:HelloService.wsdl"
>> >>         service="hello:HelloService"
>> >>         endpoint="HelloService"
>> >>         locationURI="${ekip.client.services.rootUrl}/HelloService"
>> >>         />
>> >>
>> >> Thanks for helping me !
>> >> Manuel
>> >>
>> >>
>> >
>>
>>
>>
>> --
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Blog: http://gnodet.blogspot.com/
>>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Creating a pass-through mediation in ServiceMix

Posted by Manuel EVENO <ma...@gmail.com>.
Yes I was hoping too that the registry would make a difference between a
provider and a consumer ....

Here is the full exception

<component-task-result xmlns="
http://java.sun.com/xml/ns/jbi/management-message">
    <component-name>servicemix-cxf-bc</component-name>
    <component-task-result-details>
        <task-result-details>
            <task-id>deploy</task-id>
            <task-result>FAILED</task-result>
            <message-type>ERROR</message-type>
            <task-status-msg>
<msg-loc-info>
<loc-token/>
<loc-message>Unable to deploy service unit</loc-message>
</msg-loc-info>
</task-status-msg>
            <exception-info>
                <nesting-level>1</nesting-level>
                <msg-loc-info>
                    <loc-token/>
                    <loc-message>An endpoint is already registered for key:
{http://hello.samples.sofinco.com}HelloService:HelloService</loc-message>
                    <stack-trace><![CDATA[java.lang.IllegalStateException:
An endpoint is already registered for key: {http://hello.samples.sofinco.com
}HelloService:HelloService
    at
org.apache.servicemix.common.Registry.registerEndpoint(Registry.java:55)
    at
org.apache.servicemix.common.Registry.registerServiceUnit(Registry.java:68)
    at
org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:73)
    at
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:508)
    at
org.apache.servicemix.jbi.framework.DeploymentService.deploy(DeploymentService.java:206)
    at
org.apache.servicemix.jbi.framework.AdminCommandsService.deployServiceAssembly(AdminCommandsService.java:212)
    at
org.apache.servicemix.jbi.container.DeployServiceAssembly.doDeploy(DeployServiceAssembly.java:57)
    at
org.apache.servicemix.jbi.container.DeploySupport.deploy(DeploySupport.java:58)
    at
org.apache.servicemix.jbi.container.SpringJBIContainer.afterPropertiesSet(SpringJBIContainer.java:111)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
    at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
    at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
    at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
    at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:122)
    at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:76)
    at
com.sofinco.capi.esb.test.ServiceMixConfigurationTest.setUp(ServiceMixConfigurationTest.java:43)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at
org.junit.internal.runners.MethodRoadie.runBefores(MethodRoadie.java:122)
    at
org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:86)
    at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
    at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
    at
org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
    at
org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
    at
org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
    at
org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
    at
org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
    at
org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
    at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
    at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
]]></stack-trace>
                </msg-loc-info>
            </exception-info>
        </task-result-details>
    </component-task-result-details>
</component-task-result>




On Wed, Jul 16, 2008 at 9:19 AM, Guillaume Nodet <gn...@gmail.com> wrote:

> The container does support this, but the problem may come from the
> component which does not make any difference between a consumer
> endpoint and a provider endpoint in its internal registry.
> Could you paste the full exception stack trace please ?
> I'm not sure if there is a workaround for this problem at this point
> (but to end up with a different name).
>
> On Wed, Jul 16, 2008 at 8:46 AM, Manuel EVENO <ma...@gmail.com>
> wrote:
> > Am I missing something really obvious so that no one wants to answer me ?
> >
> > On Wed, Jul 9, 2008 at 10:17 AM, Manuel EVENO <ma...@gmail.com>
> > wrote:
> >
> >> Hi,
> >>
> >> I want to create a pass-through mediation for a web service.
> >> So I want to cxf-bc:provider and consumer to expose and consume the same
> >> WSDL.
> >> The point here is the service and the endpoint name are the same so
> >> ServiceMix doesn't accept
> >> to deploy the consumer.
> >>
> >> We want to do that to be able to add audit and security steps in the
> esb.
> >>
> >> The only solution I found is to create a fake endpoint for the consumer
> >> service ...
> >>
> >> here is the services configuration :
> >>
> >>     <context:property-placeholder
> >> location="classpath:esb-client-services.properties"/>
> >>
> >>     <cxfbc:consumer wsdl="classpath:HelloService.wsdl"
> >>         service="hello:HelloService"
> >>         endpoint="*exposedHelloService*" // Here is the fake endpoint
> >>         targetUri="${esb.client.services.rootUrl}/helloService"
> >>         targetService="hello:HelloService"
> >>         targetEndpoint="HelloService"
> >>         />
> >>
> >>     <cxfbc:provider
> >>         wsdl="classpath:HelloService.wsdl"
> >>         service="hello:HelloService"
> >>         endpoint="HelloService"
> >>         locationURI="${ekip.client.services.rootUrl}/HelloService"
> >>         />
> >>
> >> Thanks for helping me !
> >> Manuel
> >>
> >>
> >
>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
>

Re: Creating a pass-through mediation in ServiceMix

Posted by Guillaume Nodet <gn...@gmail.com>.
The container does support this, but the problem may come from the
component which does not make any difference between a consumer
endpoint and a provider endpoint in its internal registry.
Could you paste the full exception stack trace please ?
I'm not sure if there is a workaround for this problem at this point
(but to end up with a different name).

On Wed, Jul 16, 2008 at 8:46 AM, Manuel EVENO <ma...@gmail.com> wrote:
> Am I missing something really obvious so that no one wants to answer me ?
>
> On Wed, Jul 9, 2008 at 10:17 AM, Manuel EVENO <ma...@gmail.com>
> wrote:
>
>> Hi,
>>
>> I want to create a pass-through mediation for a web service.
>> So I want to cxf-bc:provider and consumer to expose and consume the same
>> WSDL.
>> The point here is the service and the endpoint name are the same so
>> ServiceMix doesn't accept
>> to deploy the consumer.
>>
>> We want to do that to be able to add audit and security steps in the esb.
>>
>> The only solution I found is to create a fake endpoint for the consumer
>> service ...
>>
>> here is the services configuration :
>>
>>     <context:property-placeholder
>> location="classpath:esb-client-services.properties"/>
>>
>>     <cxfbc:consumer wsdl="classpath:HelloService.wsdl"
>>         service="hello:HelloService"
>>         endpoint="*exposedHelloService*" // Here is the fake endpoint
>>         targetUri="${esb.client.services.rootUrl}/helloService"
>>         targetService="hello:HelloService"
>>         targetEndpoint="HelloService"
>>         />
>>
>>     <cxfbc:provider
>>         wsdl="classpath:HelloService.wsdl"
>>         service="hello:HelloService"
>>         endpoint="HelloService"
>>         locationURI="${ekip.client.services.rootUrl}/HelloService"
>>         />
>>
>> Thanks for helping me !
>> Manuel
>>
>>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Creating a pass-through mediation in ServiceMix

Posted by Manuel EVENO <ma...@gmail.com>.
Am I missing something really obvious so that no one wants to answer me ?

On Wed, Jul 9, 2008 at 10:17 AM, Manuel EVENO <ma...@gmail.com>
wrote:

> Hi,
>
> I want to create a pass-through mediation for a web service.
> So I want to cxf-bc:provider and consumer to expose and consume the same
> WSDL.
> The point here is the service and the endpoint name are the same so
> ServiceMix doesn't accept
> to deploy the consumer.
>
> We want to do that to be able to add audit and security steps in the esb.
>
> The only solution I found is to create a fake endpoint for the consumer
> service ...
>
> here is the services configuration :
>
>     <context:property-placeholder
> location="classpath:esb-client-services.properties"/>
>
>     <cxfbc:consumer wsdl="classpath:HelloService.wsdl"
>         service="hello:HelloService"
>         endpoint="*exposedHelloService*" // Here is the fake endpoint
>         targetUri="${esb.client.services.rootUrl}/helloService"
>         targetService="hello:HelloService"
>         targetEndpoint="HelloService"
>         />
>
>     <cxfbc:provider
>         wsdl="classpath:HelloService.wsdl"
>         service="hello:HelloService"
>         endpoint="HelloService"
>         locationURI="${ekip.client.services.rootUrl}/HelloService"
>         />
>
> Thanks for helping me !
> Manuel
>
>