Hi ,

This approach using   service="QName" work perfectly for routing but i got
 problem when I deploy the second service unit ( here second one means the
same service unit with different service name attribute)

when I deploy first service i can see the following log

INFO  - WSDL1Processor                 - Endpoint ServiceEndpoint[service={
http://opensource.esb.org/CoA/}SimpleService,endpoint=SimpleServicePort] has
a service description, but no matching service found in [{
http://opensource.esb.org/CoC/}SimpleService]


even in the JMXConsole I can see a endpoint with a name {
http://opensource.esb.org/CoA/}SimpleService



But when I deploy second service unit ( same service unit only service
attribute of the xbean.xml is different) I got following exception

Caused by: java.io.IOException: JBIDestination for Endpoint {
http://opensource.esb.org/CoC/}SimpleService{http://opensource.esb.org/CoC/}SimpleServicehas
already been created
    at
org.apache.cxf.transport.jbi.JBITransportFactory.getDestination(JBITransportFactory.java:138)
    at
org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
    at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
    at
org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:106)


any idea ?


Thanks,

Thushara

2010/2/23 Thushara Seneviratne <[email protected]>

> Hi Freeman,
>
> On Tue, Feb 23, 2010 at 12:44 PM, Freeman Fang <[email protected]>wrote:
>
>> Hi,
>>
>> My comment inline
>>
>> On 2010-2-23, at 下午2:30, Thushara Seneviratne wrote:
>>
>>  Hi Freeman,
>>>
>>> Thanks for your valuable hint I tried for that on several versions,
>>> including 2009.02 but still I cant change service name using "service"
>>>
>> Could you explain how you use 2009.02 version?
>>
>
>  hammmm this is the place I went wrong , I only modified Maven dependency
> of my service unit but after your comment I download and deploy the 2009.02
> version of CXF-SE and now everything work fine. Thanks a lot for your help !
>
> Thanks,
>
> Thushara
>
>
>
>>
>>  attribute on CXF-SE endpoint.  This is what i tried
>>>
>>> In my xbean.xml i have following settings
>>>
>>> <cxfse:endpoint service="cod:SimpleService">
>>>    <cxfse:pojo>
>>>      <bean class="simple.SimpleService" />
>>>   </cxfse:pojo>
>>>  </cxfse:endpoint>
>>>
>>> Here prefix "cod" refers to a new namespace
>>>
>> What's the cod is ?
>>
>>
>>> 1.) I used above xbean file with following annotation  with values
>>>
>>>        @WebService(name = "SimpleService", targetNamespace = "
>>> http://opensource.esb.org/CoC/";)
>>>
>>>    now  service name was {http://opensource.esb.org/CoC/}SimpleService ,
>>>
>> How you get the service name? Is the service name used for JBI endpoint,
>> which you can specified as targetService for your consumer endpoint?
>>
>> Freeman
>>
>>  that what i mention in annotation not the value mention in endpoint.
>>>
>>>
>>> 2.)  used  xbean file with  annotation  without values
>>>
>>>       @WebService
>>>
>>>  now  service name was {packageName}SimpleService , again endpoint
>>> "service" attribute value was not taken as service name
>>>
>>>
>>> I'm not sure i have missed something here ?
>>>
>>> Thanks,
>>>
>>> Thushara
>>>
>>> On Mon, Feb 22, 2010 at 4:25 PM, Freeman Fang <[email protected]
>>> >wrote:
>>>
>>>  Hi,
>>>>
>>>> As we can specify service name(which is a QName)  for cxf se endpoint,
>>>> so I
>>>> believe you can specify your targetNamespace in xbean.xml.
>>>> Just add
>>>>
>>>> service attribute for your cxf se endpoint should be ok.
>>>>
>>>> Something like
>>>>
>>>> service="your_prefix:SimpleService"
>>>>
>>>> and add your_prefix declaration (xmlns:your_prefix="
>>>> http://my.simple.org/CoC1/";) for your xbean.xml.
>>>>
>>>> You need use servicemix-cxf-se 2009.02 or later version.
>>>>
>>>> Freeman
>>>>
>>>> On 2010-2-22, at 下午6:16, Thushara Seneviratne wrote:
>>>>
>>>> Hi ,
>>>>
>>>>>
>>>>> We have a specific requirement to change service's "targetNamespace"
>>>>> during
>>>>> the run time only using configuration. if we use @WebService annotation
>>>>> ,
>>>>> either we have to recompile the code or need to do some byte code
>>>>> processing
>>>>> in order to change the "targetNamespace" value, it would be nice if we
>>>>> can
>>>>> provide the "targetNamespace" in the xbean.xml or any other
>>>>> configuration
>>>>> file , any one have any idea about how to do this with SMX ?
>>>>>
>>>>>
>>>>> @WebService(name = "SimpleService", targetNamespace = "
>>>>> http://my.simple.org/CoC1/";)
>>>>>
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Thushara
>>>>>
>>>>>
>>>>
>>>> --
>>>> Freeman Fang
>>>> ------------------------
>>>> Open Source SOA: http://fusesource.com
>>>>
>>>>
>>>>
>>
>> --
>> Freeman Fang
>> ------------------------
>> Open Source SOA: http://fusesource.com
>>
>>
>

Reply via email to