Hi Esteban,
The url is specified in the wsdl, or you can add
locationURI="http://whatyouwant" to cxf bc consumer to override it.
Regards
Freeman
Esteban Forzani wrote:
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 <[EMAIL PROTECTED]> wrote:
Hi Esteban,
If you deploy su into a standalone servicemix, you shouldn't configure an
embeded jbi bus, so just try
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:sm="http://servicemix.apache.org/config/1.0"
xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
xmlns:tempuri="http://tempuri.org/">
<cxfbc:consumer
wsdl="http://test.intranet/webservices/hello.asmx?WSDL"
service="tempuri:helloPF"
endpoint="helloPFPort"
targetEndpoint="helloPFPortProxy"
targetService="tempuri:helloPF"
targetInterface="tempuri:helloPFSoap">
</cxfbc:consumer>
<cxfbc:provider
wsdl="http://test.intranet/webservices/hello.asmx?WSDL"
locationURI="http://test.intranet/webservices/hello.asmx"
service="tempuri:helloPF"
endpoint="helloPFPortProxy"
interfaceName="tempuri:helloPFSoap">
</cxfbc:provider>
</beans>
Regards
Freeman
Freeman
Esteban Forzani wrote:
Hi Freeman, my jbi.xml of the SA is:
<?xml version="1.0" encoding="UTF-8"?>
<jbi xmlns="http://java.sun.com/xml/ns/jbi" version="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ódulo 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 <[EMAIL PROTECTED]>
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="1.0" encoding="UTF-8"?>
<beans xmlns:sm="http://servicemix.apache.org/config/1.0"
xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
xmlns:tempuri="http://tempuri.org/">
<sm:container id="jbi" embedded="true">
<sm:endpoints>
<cxfbc:consumer
wsdl="http://test.intranet/webservices/hello.asmx?WSDL
"
service="tempuri:helloPF"
endpoint="helloPFPort"
targetEndpoint="helloPFPortProxy"
targetService="tempuri:helloPF"
targetInterface="tempuri:helloPFSoap">
</cxfbc:consumer>
<cxfbc:provider
wsdl="http://test.intranet/webservices/hello.asmx?WSDL
"
locationURI="
http://test.intranet/webservices/hello.asmx"
service="tempuri:helloPF"
endpoint="helloPFPortProxy"
interfaceName="tempuri:helloPFSoap">
</cxfbc:provider>
</sm:endpoints>
</sm:container>
</beans>
Thanks
Esteban
On Fri, Apr 4, 2008 at 9:58 PM, Freeman Fang <[EMAIL PROTECTED]
wrote:
Hi Esteban,
They both should work.
For cxf bc consumer and provider, ensure the endpoint name used in
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] is
the
configuration for more details.
For cxf bc provider and http consumer, ensure you add
useJBIWrapper="false" for cxf bc provider configuration, this is
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/servicemix/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 and
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="1.0" encoding="UTF-8"?>
<beans xmlns:sm="http://servicemix.apache.org/config/1.0"
xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
xmlns:tempuri="http://tempuri.org/">
<sm:container id="jbi" embedded="true">
<sm:endpoints>
<cxfbc:consumer
wsdl="
http://test.intranet/webservices/hello.asmx?WSDL
"
service="tempuri:helloPF"
endpoint="helloPFPort"
targetEndpoint="helloPFPort"
targetService="tempuri:helloPF"
targetInterface="tempuri:helloPFSoap">
</cxfbc:consumer>
<cxfbc:provider
wsdl="
http://test.intranet/webservices/hello.asmx?WSDL
"
locationURI="
http://test.intranet/webservices/hello.asmx"
service="tempuri:helloPF"
endpoint="helloPFPort"
interfaceName="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="1.0" encoding="UTF-8"?>
<beans
xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
xmlns:tempuri="http://tempuri.org/">
<cxfbc:provider
wsdl="
http://test.intranet/webservices/hellopf.asmx?WSDL"
locationURI="
http://test.intranet/webservices/hellopf.asmx"
service="tempuri:helloPF"
endpoint="helloPFPortProxy"
interfaceName="tempuri:helloPFSoap"/>
</beans>
The xbean.xml for http-su is:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:http="http://servicemix.apache.org/http/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://servicemix.apache.org/http/1.0servicemix-http.3.2.xsd"
xmlns:tempuri="http://tempuri.org/" >
<http:endpoint
service="tempuri:helloPF"
endpoint="soap"
role="consumer"
locationURI="http://0.0.0.0:8192/helloPF/"
targetEndpoint="helloPFPortProxy"
targetService="tempuri:helloPF"/>
</beans>
Thanks
Esteban
On Tue, Apr 1, 2008 at 3:30 AM, Freeman Fang <
[EMAIL PROTECTED]
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="WebServicesProxy-http-su:webServices"
endpoint="providerEndpoint"
role="provider"
locationURI="
http://test.example/webservices/webservices.asmx"
defaultMep="
http://www.w3.org/2004/08/wsdl/in-out"
soap="true"
soapVersion="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="WebServicesProxy-http-su:webServices"
endpoint="providerEndpoint"
role="provider"
locationURI="
http://test.example/webservices/webservices.asmx"
defaultMep="
http://www.w3.org/2004/08/wsdl/in-out"
soap="true"
soapVersion="1.1"
soapAction="http://example.org/operation1"/>
Is it possible to put this property dynamically or take it
from
the
client's
request ?
Regards,
Esteban