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


















Reply via email to