You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Andrea Zoppello <zo...@tiscali.it> on 2008/02/12 16:33:04 UTC

CXF-BC Provider How to??

Hi,

After doing a lot of debug i don't really understand how to prepare
a normalize message, so that when this is pass to a servicemix 
cxf-provider this
will result in a SOAP Call with WSA Addressing elements in soap header.

This problem is blocking me, because i've to call external webservice 
that needs
WSA addressing in soap header..

Any idea on how to solve this???

Andrea Zoppello


Re: CXF-BC Provider How to??

Posted by Freeman Fang <fr...@gmail.com>.
sure, please open a jira with your code and configuration.

Thanks

Freeman

On Feb 13, 2008 8:52 PM, Andrea Zoppello <zo...@tiscali.it> wrote:

> Hi Freeman,
>
> Yeah, i've not problem to contribute my experience, the problem is that
> actually i've found
> a way ( mixin of code modification and configuration ) to obtain *what i
> need in my use case*,
> but i really don't know if i'm doing the right things from *servicemix
> point of view*.
>
> What i'm saying is that, it's possible that for some things  need  it's
> possible that i reinvented something that is already there, but
> unfortunately is not documented well, so i've found my personal solution
> to do that, this is the point.
>
> btw let me know if you want, i open a jira with my code.
>
> Andrea
>
>
> Freeman Fang ha scritto:
> > Hi Andrea,
> > Thanks for your comment.
> > And it's always welcome if you get any valuable experience with
> > servicemix and wanna share it with other users.
> > It would be great if you can contribute patch, document or user case.
> >
> > Thanks very much
> >
> > Freeman
> >
> > Andrea Zoppello wrote:
> >> Hi Freeman,
> >>
> >> If i add both MapAggregator and MapCodec, i'm experimenting some not
> >> predictable exception in the cxf-bc-component. See my  previous post
> >> in this email.
> >>
> >> BTW My problem, is not the addressing configuration, but *how the
> >> Normalized Message sould be* so that we've WSA Headers in SOAP call.
> >>
> >> I found a solution to my problem doing this:
> >>
> >> 1) I've enabled only the MapCodec interceptor, at this point it seems
> >> i found in the cxf Soap
> >> Message object an attribute called "javax.ws.addressing.inbound"
> >>
> >> 2) I modified my cxf bc consumer so it will copy the proerty
> >> "javax.ws.addressing.inbound" to
> >> the normalized message properties.
> >>
> >> 3) If in the soap response i need the headers, it seems the right way
> >> to proceed is to have a property called
> >> "javax.ws.addressing.outbound" in the cxf SOAP Message.
> >>
> >>
> >> If i can suggest i thing, the documentation on how to use *cxf-bc
> >> decoupled from cxf-se* is not so clear, and i've spent a lot of time
> >> to understand what happen inside the code.
> >>
> >> There are some situations, where it's needed to use cxf-bc only as a
> >> simple replacment of http and this is really difficult to understant
> >> quite now.
> >>
> >> Regards
> >>
> >>
> >>
> >> Freeman Fang ha scritto:
> >>> Hi Andrea,
> >>>
> >>> You can add bean ref to you cxf bc provider configuration. something
> >>> like
> >>> <bean id="mapAggregator"
> >>> class="org.apache.cxf.ws.addressing.MAPAggregator"/>
> >>> <bean id="mapCodec"
> >>> class="org.apache.cxf.ws.addressing.soap.MAPCodec"/>
> >>>
> >>> <cxfbc:provider wsdl="/wsdl/hello_world.wsdl"
> >>>
> >>> locationURI="http://localhost:9002/providertest_oneway"
> >>>                      endpoint="SoapPort"
> >>>                      service="greeter:SOAPService"
> >>>                      interfaceName="greeter:Greeter"
> >>>                      >
> >>>        <cxfbc:inInterceptors>
> >>>          <ref bean="mapAggregator"/>
> >>>          <ref bean="mapCodec">
> >>>        </cxfbc:inInterceptors>
> >>>        <cxfbc:outInterceptors>
> >>>          <ref bean="mapAggregator"/>
> >>>          <ref bean="mapCodec">
> >>>        </cxfbc:outInterceptors>
> >>>      </cxfbc:provider>
> >>>
> >>> Best Regards
> >>>
> >>> Freeman
> >>>
> >>>
> >>> Andrea Zoppello wrote:
> >>>> Hi,
> >>>>
> >>>> After doing a lot of debug i don't really understand how to prepare
> >>>> a normalize message, so that when this is pass to a servicemix
> >>>> cxf-provider this
> >>>> will result in a SOAP Call with WSA Addressing elements in soap
> >>>> header.
> >>>>
> >>>> This problem is blocking me, because i've to call external
> >>>> webservice that needs
> >>>> WSA addressing in soap header..
> >>>>
> >>>> Any idea on how to solve this???
> >>>>
> >>>> Andrea Zoppello
> >>>>
> >>>
> >>
> >
>
>

Re: CXF-BC Provider How to??

Posted by Andrea Zoppello <zo...@tiscali.it>.
Hi Freeman,

Yeah, i've not problem to contribute my experience, the problem is that 
actually i've found
a way ( mixin of code modification and configuration ) to obtain *what i 
need in my use case*,
but i really don't know if i'm doing the right things from *servicemix 
point of view*.

What i'm saying is that, it's possible that for some things  need  it's 
possible that i reinvented something that is already there, but 
unfortunately is not documented well, so i've found my personal solution 
to do that, this is the point.

btw let me know if you want, i open a jira with my code.

Andrea


Freeman Fang ha scritto:
> Hi Andrea,
> Thanks for your comment.
> And it's always welcome if you get any valuable experience with 
> servicemix and wanna share it with other users.
> It would be great if you can contribute patch, document or user case.
>
> Thanks very much
>
> Freeman
>
> Andrea Zoppello wrote:
>> Hi Freeman,
>>
>> If i add both MapAggregator and MapCodec, i'm experimenting some not
>> predictable exception in the cxf-bc-component. See my  previous post 
>> in this email.
>>
>> BTW My problem, is not the addressing configuration, but *how the 
>> Normalized Message sould be* so that we've WSA Headers in SOAP call.
>>
>> I found a solution to my problem doing this:
>>
>> 1) I've enabled only the MapCodec interceptor, at this point it seems 
>> i found in the cxf Soap
>> Message object an attribute called "javax.ws.addressing.inbound"
>>
>> 2) I modified my cxf bc consumer so it will copy the proerty 
>> "javax.ws.addressing.inbound" to
>> the normalized message properties.
>>
>> 3) If in the soap response i need the headers, it seems the right way 
>> to proceed is to have a property called 
>> "javax.ws.addressing.outbound" in the cxf SOAP Message.
>>
>>
>> If i can suggest i thing, the documentation on how to use *cxf-bc 
>> decoupled from cxf-se* is not so clear, and i've spent a lot of time 
>> to understand what happen inside the code.
>>
>> There are some situations, where it's needed to use cxf-bc only as a 
>> simple replacment of http and this is really difficult to understant 
>> quite now.
>>
>> Regards
>>
>>
>>
>> Freeman Fang ha scritto:
>>> Hi Andrea,
>>>
>>> You can add bean ref to you cxf bc provider configuration. something 
>>> like
>>> <bean id="mapAggregator" 
>>> class="org.apache.cxf.ws.addressing.MAPAggregator"/>
>>> <bean id="mapCodec" 
>>> class="org.apache.cxf.ws.addressing.soap.MAPCodec"/>
>>>
>>> <cxfbc:provider wsdl="/wsdl/hello_world.wsdl"
>>>                      
>>> locationURI="http://localhost:9002/providertest_oneway"
>>>                      endpoint="SoapPort"
>>>                      service="greeter:SOAPService"
>>>                      interfaceName="greeter:Greeter"
>>>                      >
>>>        <cxfbc:inInterceptors>
>>>          <ref bean="mapAggregator"/>
>>>          <ref bean="mapCodec">
>>>        </cxfbc:inInterceptors>
>>>        <cxfbc:outInterceptors>
>>>          <ref bean="mapAggregator"/>
>>>          <ref bean="mapCodec">
>>>        </cxfbc:outInterceptors>
>>>      </cxfbc:provider>
>>>
>>> Best Regards
>>>
>>> Freeman
>>>
>>>
>>> Andrea Zoppello wrote:
>>>> Hi,
>>>>
>>>> After doing a lot of debug i don't really understand how to prepare
>>>> a normalize message, so that when this is pass to a servicemix 
>>>> cxf-provider this
>>>> will result in a SOAP Call with WSA Addressing elements in soap 
>>>> header.
>>>>
>>>> This problem is blocking me, because i've to call external 
>>>> webservice that needs
>>>> WSA addressing in soap header..
>>>>
>>>> Any idea on how to solve this???
>>>>
>>>> Andrea Zoppello
>>>>
>>>
>>
>


Re: CXF-BC Provider How to??

Posted by Freeman Fang <fr...@gmail.com>.
Hi Andrea,
Thanks for your comment.
And it's always welcome if you get any valuable experience with 
servicemix and wanna share it with other users.
It would be great if you can contribute patch, document or user case.

Thanks very much

Freeman

Andrea Zoppello wrote:
> Hi Freeman,
>
> If i add both MapAggregator and MapCodec, i'm experimenting some not
> predictable exception in the cxf-bc-component. See my  previous post 
> in this email.
>
> BTW My problem, is not the addressing configuration, but *how the 
> Normalized Message sould be* so that we've WSA Headers in SOAP call.
>
> I found a solution to my problem doing this:
>
> 1) I've enabled only the MapCodec interceptor, at this point it seems 
> i found in the cxf Soap
> Message object an attribute called "javax.ws.addressing.inbound"
>
> 2) I modified my cxf bc consumer so it will copy the proerty 
> "javax.ws.addressing.inbound" to
> the normalized message properties.
>
> 3) If in the soap response i need the headers, it seems the right way 
> to proceed is to have a property called "javax.ws.addressing.outbound" 
> in the cxf SOAP Message.
>
>
> If i can suggest i thing, the documentation on how to use *cxf-bc 
> decoupled from cxf-se* is not so clear, and i've spent a lot of time 
> to understand what happen inside the code.
>
> There are some situations, where it's needed to use cxf-bc only as a 
> simple replacment of http and this is really difficult to understant 
> quite now.
>
> Regards
>
>
>
> Freeman Fang ha scritto:
>> Hi Andrea,
>>
>> You can add bean ref to you cxf bc provider configuration. something 
>> like
>> <bean id="mapAggregator" 
>> class="org.apache.cxf.ws.addressing.MAPAggregator"/>
>> <bean id="mapCodec" class="org.apache.cxf.ws.addressing.soap.MAPCodec"/>
>>
>> <cxfbc:provider wsdl="/wsdl/hello_world.wsdl"
>>                      
>> locationURI="http://localhost:9002/providertest_oneway"
>>                      endpoint="SoapPort"
>>                      service="greeter:SOAPService"
>>                      interfaceName="greeter:Greeter"
>>                      >
>>        <cxfbc:inInterceptors>
>>          <ref bean="mapAggregator"/>
>>          <ref bean="mapCodec">
>>        </cxfbc:inInterceptors>
>>        <cxfbc:outInterceptors>
>>          <ref bean="mapAggregator"/>
>>          <ref bean="mapCodec">
>>        </cxfbc:outInterceptors>
>>      </cxfbc:provider>
>>
>> Best Regards
>>
>> Freeman
>>
>>
>> Andrea Zoppello wrote:
>>> Hi,
>>>
>>> After doing a lot of debug i don't really understand how to prepare
>>> a normalize message, so that when this is pass to a servicemix 
>>> cxf-provider this
>>> will result in a SOAP Call with WSA Addressing elements in soap header.
>>>
>>> This problem is blocking me, because i've to call external 
>>> webservice that needs
>>> WSA addressing in soap header..
>>>
>>> Any idea on how to solve this???
>>>
>>> Andrea Zoppello
>>>
>>
>

Re: CXF-BC Provider How to??

Posted by Andrea Zoppello <zo...@tiscali.it>.
Hi Freeman,

If i add both MapAggregator and MapCodec, i'm experimenting some not
predictable exception in the cxf-bc-component. See my  previous post in 
this email.

BTW My problem, is not the addressing configuration, but *how the 
Normalized Message sould be* so that we've WSA Headers in SOAP call.

I found a solution to my problem doing this:

1) I've enabled only the MapCodec interceptor, at this point it seems i 
found in the cxf Soap
Message object an attribute called "javax.ws.addressing.inbound"

2) I modified my cxf bc consumer so it will copy the proerty 
"javax.ws.addressing.inbound" to
the normalized message properties.

3) If in the soap response i need the headers, it seems the right way to 
proceed is to have a property called "javax.ws.addressing.outbound" in 
the cxf SOAP Message.


If i can suggest i thing, the documentation on how to use *cxf-bc 
decoupled from cxf-se* is not so clear, and i've spent a lot of time to 
understand what happen inside the code.

There are some situations, where it's needed to use cxf-bc only as a 
simple replacment of http and this is really difficult to understant 
quite now.

Regards



Freeman Fang ha scritto:
> Hi Andrea,
>
> You can add bean ref to you cxf bc provider configuration. something like
> <bean id="mapAggregator" 
> class="org.apache.cxf.ws.addressing.MAPAggregator"/>
> <bean id="mapCodec" class="org.apache.cxf.ws.addressing.soap.MAPCodec"/>
>
> <cxfbc:provider wsdl="/wsdl/hello_world.wsdl"
>                      
> locationURI="http://localhost:9002/providertest_oneway"
>                      endpoint="SoapPort"
>                      service="greeter:SOAPService"
>                      interfaceName="greeter:Greeter"
>                      >
>        <cxfbc:inInterceptors>
>          <ref bean="mapAggregator"/>
>          <ref bean="mapCodec">
>        </cxfbc:inInterceptors>
>        <cxfbc:outInterceptors>
>          <ref bean="mapAggregator"/>
>          <ref bean="mapCodec">
>        </cxfbc:outInterceptors>
>      </cxfbc:provider>
>
> Best Regards
>
> Freeman
>
>
> Andrea Zoppello wrote:
>> Hi,
>>
>> After doing a lot of debug i don't really understand how to prepare
>> a normalize message, so that when this is pass to a servicemix 
>> cxf-provider this
>> will result in a SOAP Call with WSA Addressing elements in soap header.
>>
>> This problem is blocking me, because i've to call external webservice 
>> that needs
>> WSA addressing in soap header..
>>
>> Any idea on how to solve this???
>>
>> Andrea Zoppello
>>
>


Re: CXF-BC Provider How to??

Posted by Freeman Fang <fr...@iona.com>.
Hi Andrea,

You can add bean ref to you cxf bc provider configuration. something like
<bean id="mapAggregator" 
class="org.apache.cxf.ws.addressing.MAPAggregator"/>
<bean id="mapCodec" class="org.apache.cxf.ws.addressing.soap.MAPCodec"/>

<cxfbc:provider wsdl="/wsdl/hello_world.wsdl"
                      
locationURI="http://localhost:9002/providertest_oneway"
                      endpoint="SoapPort"
                      service="greeter:SOAPService"
                      interfaceName="greeter:Greeter"
                      >
        <cxfbc:inInterceptors>
          <ref bean="mapAggregator"/>
          <ref bean="mapCodec">
        </cxfbc:inInterceptors>
        <cxfbc:outInterceptors>
          <ref bean="mapAggregator"/>
          <ref bean="mapCodec">
        </cxfbc:outInterceptors>
      </cxfbc:provider>

Best Regards

Freeman


Andrea Zoppello wrote:
> Hi,
>
> After doing a lot of debug i don't really understand how to prepare
> a normalize message, so that when this is pass to a servicemix 
> cxf-provider this
> will result in a SOAP Call with WSA Addressing elements in soap header.
>
> This problem is blocking me, because i've to call external webservice 
> that needs
> WSA addressing in soap header..
>
> Any idea on how to solve this???
>
> Andrea Zoppello
>