OK, thanks Freeman, it worked! and how can I invoke the consumer from a
client? Which is your URL?
Thanks
Regards
Esteban
On Tue, Apr 8, 2008 at 9:43 AM, Freeman Fang <freeman.fang@gmail.com> wrote=
:
> Hi Esteban,
> If you deploy su into a standalone servicemix, you shouldn't configure an
> embeded jbi bus, so just try
>
> <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> <beans xmlns:sm=3D"http://servicemix.apache.org/config/1.0"
> xmlns:cxfbc=3D"http://servicemix.apache.org/cxfbc/1.0"
> xmlns:tempuri=3D"http://tempuri.org/">
> <cxfbc:consumer
> wsdl=3D"http://test.intranet/webservices/hello.asmx?WSDL"
> service=3D"tempuri:helloPF"
> endpoint=3D"helloPFPort"
> targetEndpoint=3D"helloPFPortProxy"
> targetService=3D"tempuri:helloPF"
> targetInterface=3D"tempuri:helloPFSoap">
> </cxfbc:consumer>
> <cxfbc:provider
> wsdl=3D"http://test.intranet/webservices/hello.asmx?WSDL"
> locationURI=3D"http://test.intranet/webservices/hello.asmx"
> service=3D"tempuri:helloPF"
> endpoint=3D"helloPFPortProxy"
> interfaceName=3D"tempuri:helloPFSoap">
> </cxfbc:provider>
> </beans>
>
> Regards
> Freeman
>
>
> Freeman
>
> Esteban Forzani wrote:
>
> > Hi Freeman, my jbi.xml of the SA is:
> >
> > <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> > <jbi xmlns=3D"http://java.sun.com/xml/ns/jbi" version=3D"1.0">
> > <service-assembly>
> > <identification>
> > <name>HelloProxy-sa</name>
> > <description>HelloProxy :: SA (Proxy Service)</description>
> > </identification>
> > <service-unit>
> > <identification>
> > <name>HelloProxy-cxfbc-su</name>
> > <description>Este m=F3dulo es el encargado de configurar un
> > servicio
> > proxy usando el CXF BC del ESB.</description>
> > </identification>
> > <target>
> >
> > <artifacts-zip>HelloProxy-cxfbc-su-1.0-SNAPSHOT.zip</artifacts-zip>
> > <component-name>servicemix-cxf-bc</component-name>
> > </target>
> > </service-unit>
> > </service-assembly>
> > </jbi>
> >
> > This is generated by maven when run the install.
> >
> > Regards
> >
> > Esteban
> >
> >
> > On Mon, Apr 7, 2008 at 11:50 AM, Freeman Fang <freeman.fang@gmail.com>
> > wrote:
> >
> >
> >
> > > Hi Esteban,
> > >
> > > Seems your jbi descriptor didn't specify servicemix-cxf-bc as
> > > component-name. Would you please append your jbi.xml of the SA?
> > >
> > > Freeman
> > >
> > >
> > > Esteban Forzani wrote:
> > >
> > >
> > >
> > > > Hi Freeman,
> > > >
> > > > When I use cxf bc provider an consumer I couldn't deploy the SU
> > > > because
> > > > throws the following error:
> > > > "No endpoints found" in org.apache.servicemix.common
> > > > .xbean.AbstractXBeanDeployer
> > > >
> > > > The xbean.xml for the cxf-bc-su is:
> > > > <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> > > > <beans xmlns:sm=3D"http://servicemix.apache.org/config/1.0"
> > > > xmlns:cxfbc=3D"http://servicemix.apache.org/cxfbc/1.0"
> > > > xmlns:tempuri=3D"http://tempuri.org/">
> > > > <sm:container id=3D"jbi" embedded=3D"true">
> > > > <sm:endpoints>
> > > > <cxfbc:consumer
> > > > wsdl=3D"http://test.intranet/webservices/hello.asmx?W=
SDL
> > > > "
> > > > service=3D"tempuri:helloPF"
> > > > endpoint=3D"helloPFPort"
> > > > targetEndpoint=3D"helloPFPortProxy"
> > > > targetService=3D"tempuri:helloPF"
> > > > targetInterface=3D"tempuri:helloPFSoap">
> > > > </cxfbc:consumer>
> > > > <cxfbc:provider
> > > > wsdl=3D"http://test.intranet/webservices/hello.asmx?W=
SDL
> > > > "
> > > > locationURI=3D"
> > > > http://test.intranet/webservices/hello.asmx"
> > > > service=3D"tempuri:helloPF"
> > > > endpoint=3D"helloPFPortProxy"
> > > > interfaceName=3D"tempuri:helloPFSoap">
> > > > </cxfbc:provider>
> > > > </sm:endpoints>
> > > > </sm:container>
> > > > </beans>
> > > >
> > > > Thanks
> > > >
> > > > Esteban
> > > >
> > > > On Fri, Apr 4, 2008 at 9:58 PM, Freeman Fang <freeman.fang@gmail.co=
m
> > > > >
> > > > wrote:
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > > Hi Esteban,
> > > > > They both should work.
> > > > > For cxf bc consumer and provider, ensure the endpoint name used i=
n
> > > > > consumer and provider is different, for example, use
> > > > > helloPFPortProxy
> > > > > for
> > > > > provider in your case. And ensure the service / endpoint for your
> > > > > cxf
> > > > > bc
> > > > > consumer is same as it defined in the wsdl.
> > > > > We have a test to show how to configure cxf bc as a bridge, [1] i=
s
> > > > > the
> > > > > configuration for more details.
> > > > > For cxf bc provider and http consumer, ensure you add
> > > > > useJBIWrapper=3D"false" for cxf bc provider configuration, this i=
s
> > > > > new
> > > > > feature
> > > > > ([2] is jira to track it) after servicemix 3.2.1 release, so you
> > > > > should try
> > > > > it with 3.2.2 snapshot.
> > > > >
> > > > > Best Regards
> > > > >
> > > > > Freeman
> > > > >
> > > > > [1]
> > > > >
> > > > >
> > > > > http://svn.apache.org/repos/asf/servicemix/smx3/trunk/deployables=
/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicem=
ix/cxfbc/cxf_provider_consumer_bridge.xml
> > > > > [2]http://issues.apache.org/activemq/browse/SM-1242
> > > > >
> > > > > Esteban Forzani wrote:
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > > Thanks Freeman and Guillaume, Can I try with cxf bc provider
an=
d
> > > > > > cxf
> > > > > > bc
> > > > > > consumer or http consumer?
> > > > > >
> > > > > > I tried both, when I use cxf bc provider an consumer I couldn't
> > > > > > deploy
> > > > > > the
> > > > > > SU because throws the following error:
> > > > > > "No endpoints found" in
> > > > > > org.apache.servicemix.common.xbean.AbstractXBeanDeployer
> > > > > >
> > > > > > E.g:
> > > > > > the xbean.xml for the cxf-bc-su is:
> > > > > > <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> > > > > > <beans xmlns:sm=3D"http://servicemix.apache.org/config/1.0"
> > > > > > xmlns:cxfbc=3D"http://servicemix.apache.org/cxfbc/1.0"
> > > > > > xmlns:tempuri=3D"http://tempuri.org/">
> > > > > > <sm:container id=3D"jbi" embedded=3D"true">
> > > > > > <sm:endpoints>
> > > > > > <cxfbc:consumer
> > > > > > wsdl=3D"
> > > > > > http://test.intranet/webservices/hello.asmx?WSDL
> > > > > > "
> > > > > > service=3D"tempuri:helloPF"
> > > > > > endpoint=3D"helloPFPort"
> > > > > > targetEndpoint=3D"helloPFPort"
> > > > > > targetService=3D"tempuri:helloPF"
> > > > > > targetInterface=3D"tempuri:helloPFSoap">
> > > > > > </cxfbc:consumer>
> > > > > > <cxfbc:provider
> > > > > > wsdl=3D"
> > > > > > http://test.intranet/webservices/hello.asmx?WSDL
> > > > > > "
> > > > > > locationURI=3D"
> > > > > > http://test.intranet/webservices/hello.asmx"
> > > > > > service=3D"tempuri:helloPF"
> > > > > > endpoint=3D"helloPFPort"
> > > > > > interfaceName=3D"tempuri:helloPFSoap">
> > > > > > </cxfbc:provider>
> > > > > > </sm:endpoints>
> > > > > > </sm:container>
> > > > > > </beans>
> > > > > >
> > > > > > When I tried with cxf bc provider and http consumer throw a
> > > > > > NullPointerException in
> > > > > > org.apache.servicemix.cxfbc.CxfBcProvider
> > > > > > becoause
> > > > > > exchange.getOperation() is null!
> > > > > > The xbean.xml for cxf-bc-su is:
> > > > > >
> > > > > > <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> > > > > > <beans
> > > > > > xmlns:cxfbc=3D"http://servicemix.apache.org/cxfbc/1.0"
> > > > > > xmlns:tempuri=3D"http://tempuri.org/">
> > > > > > <cxfbc:provider
> > > > > > wsdl=3D"
> > > > > > http://test.intranet/webservices/hellopf.asmx?WSDL"
> > > > > > locationURI=3D"
> > > > > > http://test.intranet/webservices/hellopf.asmx"
> > > > > > service=3D"tempuri:helloPF"
> > > > > > endpoint=3D"helloPFPortProxy"
> > > > > > interfaceName=3D"tempuri:helloPFSoap"/>
> > > > > > </beans>
> > > > > >
> > > > > > The xbean.xml for http-su is:
> > > > > >
> > > > > > <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> > > > > >
> > > > > > <beans xmlns:http=3D"http://servicemix.apache.org/http/1.0"
> > > > > > xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance"
> > > > > > xsi:schemaLocation=3D"
> > > > > > http://servicemix.apache.org/http/1.0servicemix-http.3.2.xsd"
> > > > > >
> > > > > > xmlns:tempuri=3D"http://tempuri.org/" >
> > > > > > <http:endpoint
> > > > > > service=3D"tempuri:helloPF"
> > > > > > endpoint=3D"soap"
> > > > > > role=3D"consumer"
> > > > > > locationURI=3D"http://0.0.0.0:8192/helloPF/"
> > > > > > targetEndpoint=3D"helloPFPortProxy"
> > > > > > targetService=3D"tempuri:helloPF"/>
> > > > > > </beans>
> > > > > >
> > > > > > Thanks
> > > > > >
> > > > > > Esteban
> > > > > >
> > > > > >
> > > > > > On Tue, Apr 1, 2008 at 3:30 AM, Freeman Fang <
> > > > > > freeman.fang@gmail.com
> > > > > > wrote:
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > > Hi Esteban,
> > > > > > >
> > > > > > > You can try with cxf bc provider, which needn't specify
soap
> > > > > > > action
> > > > > > > explicitly in the xbean and abstract it dynamically from
the
> > > > > > > message.
> > > > > > >
> > > > > > > Regards
> > > > > > >
> > > > > > > Freeman
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Esteban Forzani wrote:
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > > Hello,
> > > > > > > >
> > > > > > > > I have a web service with 5 operations, each with
a
> > > > > > > > different
> > > > > > > > SOAPAction.
> > > > > > > > I'm using the servicemix-http component (proxy) to
send a
> > > > > > > > soap
> > > > > > > > request
> > > > > > > > to
> > > > > > > > this webservice.
> > > > > > > > E.g.:
> > > > > > > >
> > > > > > > > <http:endpoint
> > > > > > > > service=3D"WebServicesProxy-http-su:webServices"
> > > > > > > > endpoint=3D"providerEndpoint"
> > > > > > > > role=3D"provider"
> > > > > > > > locationURI=3D"
> > > > > > > > http://test.example/webservices/webservices.asmx"
> > > > > > > > defaultMep=3D"
> > > > > > > > http://www.w3.org/2004/08/wsdl/in-out"
> > > > > > > > soap=3D"true"
> > > > > > > > soapVersion=3D"1.1"/>
> > > > > > > >
> > > > > > > > The request is send to the ESB with the SOAPAction
(E.g.
> > > > > > > > SOAPAction:
> > > > > > > > operation1)
> > > > > > > > but the HTTP-BC set the SOAPAction with "".
> > > > > > > >
> > > > > > > > I used the property soapAction in xbean.xml, but fixed
me
> > > > > > > > the
> > > > > > > > operation
> > > > > > > > to
> > > > > > > > the endpoint.
> > > > > > > > E.g.:
> > > > > > > > <http:endpoint
> > > > > > > > service=3D"WebServicesProxy-http-su:webServices"
> > > > > > > > endpoint=3D"providerEndpoint"
> > > > > > > > role=3D"provider"
> > > > > > > > locationURI=3D"
> > > > > > > > http://test.example/webservices/webservices.asmx"
> > > > > > > > defaultMep=3D"
> > > > > > > > http://www.w3.org/2004/08/wsdl/in-out"
> > > > > > > > soap=3D"true"
> > > > > > > > soapVersion=3D"1.1"
> > > > > > > > soapAction=3D"http://example.org/operation1"/>
> > > > > > > >
> > > > > > > > Is it possible to put this property dynamically or
take it
> > > > > > > > from
> > > > > > > > the
> > > > > > > > client's
> > > > > > > > request ?
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > >
> > > > > > > > Esteban
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
> >
> >
>
>
--=20
Esteban Forzani
|