Yes, as suggested in the thread we are using ServiceMix-3.2.2-SNAPSHOT but
still getting that error :(



gnodet wrote:
> 
> 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/
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Take-SOAPAction-from-client%27s-request-tp16407528p16589559.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to