Have you tried with 3.2.2-SNAPSHOT ? Lots of issues have been fixed in the cxf components afaik.
On Wed, Apr 9, 2008 at 4:32 PM, antoniofer <[EMAIL PROTECTED]> wrote: > > Hi Esteban, Freeman, Guillaume, > > I've been following this thread because I was having the same issue than > Esteban (SoapAction header) when proxying web services through ServiceMix. > I'm getting an exception when the WS client tries to run the WS by > connecting to ServiceMix: > > INFO - AutoDeploymentService - Directory: hotdeploy: Finished > installation > of archive: wsproxy-cxf-sa.zip <- my SA > Apr 9, 2008 4:22:28 PM org.apache.cxf.phase.PhaseInterceptorChain > doIntercept > INFO: Interceptor has thrown exception, unwinding now > java.lang.NullPointerException > at > > org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.processFaultDetail(CxfBcConsumer.java:560) > at > > org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcConsumer.java:518) > ....etc. > > My xbean.xml (gondor2 is the hostname of ServiceMix server and altair is > the > hostname where the WebService is running) 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:firma="http://currencyconverter.strast.dit.upm.es"> > <cxfbc:consumer > > wsdl="http://altair:8080/CurrencyConverter/services/EURUSD?wsdl" > service="firma:EURUSDService" > endpoint="EURUSDProxy" > targetEndpoint="EURUSD" > targetService="firma:EURUSDService" > targetInterface="firma:EURUSDSoapBinding" > > locationURI="http://gondor2:8080/CurrencyConverter/services/EURUSD"> > </cxfbc:consumer> > <cxfbc:provider > > wsdl="http://altair:8080/CurrencyConverter/services/EURUSD?wsdl" > > locationURI="http://altair:8080/CurrencyConverter/services/EURUSD" > service="firma:EURUSDService" > endpoint="EURUSD" > interfaceName="firma:EURUSDSoapBinding"> > </cxfbc:provider> > </beans> > > I don't know if you need the .wsdl file. I'm not sure if the endpoint, > service and interfaceName configuration is right. Perhaps the problem is > different. Any suggestions? > > Thank you very much! > > Antonio > > > Freeman Fang wrote: > > > > 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 > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>> > >>>> > >>>> > >>>> > >>> > >> > >> > >> > > > > > > > > -- > View this message in context: > http://www.nabble.com/Take-SOAPAction-from-client%27s-request-tp16407528p16586203.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
