You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Esteban Forzani <ef...@gmail.com> on 2008/03/31 21:40:29 UTC
Take SOAPAction from client's request
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
Re: Take SOAPAction from client's request
Posted by Freeman Fang <fr...@gmail.com>.
Hi Antonio,
Yes, append the wsdl should be more helpful since we can know if your
servicename, interfacename, endpoint is correct from that.
And could you append the whole log here?
Did your server http://altair:8080/CurrencyConverter/services/EURUSD
really get invoked? If so, could you use some tool like tcpmonitor to
dump the soap message?
If the problem happen in cxf bc consumer, I guess the problem maybe
here, you specify
wsdl="http://altair:8080/CurrencyConverter/services/EURUSD?wsdl" for cxf
bc consumer, but the process we do in cxf bc consumer is
1. parse the wsdl according to your configuration
2. publish the endpoint according to wsdl, at that time the port
8080(which you specify in the wsdl port address) is on.
So if you specify wsdl like http://altair:8080.., I don't think we can
get wsdl since the port is not on at all when we try to parse the wsdl,
you need save wsdl on your disk and refer it, like we do in tests.
Best Regards
Freeman
antoniofer wrote:
> 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 <an...@dit.upm.es> 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 <fr...@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="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
>>>>>>>
>>> <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="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 <
>>>>>>>>>
>>> freeman.fang@gmail.com
>>>
>>>>>>>>> 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 <
>>>>>>>>>>> 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="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/
>>
>>
>>
>
>
Re: Take SOAPAction from client's request
Posted by Freeman Fang <fr...@gmail.com>.
Hi Guillaume,
Yes, we'd better add it, since soapaction header check is mandatory for
lots of servers, even though not for cxf server.
I will take care of this issue.
Cheers
Freeman
Guillaume Nodet wrote:
> Hi Freeman, I'm just wondering if this interceptor should be added by
> default. Any opinion ?
>
> On Thu, Apr 10, 2008 at 2:30 AM, Freeman Fang <freeman.fang@gmail.com
> <ma...@gmail.com>> wrote:
>
> Hi Esteban,
>
> I forget to mention you need add
> <cxfbc:outInterceptors>
> <bean
> class="org.apache.cxf.binding.soap.interceptor.SoapActionOutInterceptor"/>
> </cxfbc:outInterceptors>
> for your cxf bc provider configuration, this interceptor will
> add soapAction according to the wsdl to your message.
> Best Regards
>
>
> Freeman
>
> Esteban Forzani wrote:
>
> Hi, I used ServiceMix-3.2.2-SNAPSHOT also, but don't work,
> throw it the
> following exception:
>
> 09-abr-2008 15:54:32
> org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> java.lang.NullPointerException
> at
> org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)
> at
> org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)
> at
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleJBIFault(JbiInWsdl1I
> nterceptor.java:220)
> at
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1In
> terceptor.java:142)
> at
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1In
> terceptor.java:60)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
> at
> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageOb
> server.java:121)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.
> java:1976)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1812
> )
> at
> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:4
> 90)
> at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImp
> l.java:610)
> at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
>
> I used to capture the messages TCPMon and I discovered that
> it are not
> send the SOAPAction from the provider to external webservice.
> The exception is thrown when trying parse the fault.
>
> The request from the client to ESB is:
>
> POST /hello/ HTTP/1.1
> Content-Type: text/xml;charset=UTF-8
> SOAPAction: "http://tempuri.org/Operation1"
> User-Agent: Jakarta Commons-HttpClient/3.0.1
> Host: localhost:8082
> Content-Length: 424
>
> <soapenv:Envelope xmlns:soapenv="
> http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:tem="http://tempuri.org/">
> <soapenv:Header/>
> <soapenv:Body>
> <tem:Operation1>
> <!--Optional:-->
> <tem:aplicacion>app1</tem:aplicacion>
> <!--Optional:-->
> <tem:usuario>user1</tem:usuario>
> </tem:Operation1>
> </soapenv:Body>
> </soapenv:Envelope>
>
>
> The request from de ESB is:
>
> POST /webservices/hello.asmx HTTP/1.1
> Content-Type: text/xml; charset=UTF-8
> Accept: *
> Cache-Control: no-cache
> Pragma: no-cache
> User-Agent: Java/1.5.0_09
> Host: test.intranet:8085
> Connection: keep-alive
> Transfer-Encoding: chunked
>
> 18a
> <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><tem:Operation1
> xmlns:tem="http://tempuri.org/">
>
> <tem:aplicacion xmlns:tem="http://tempuri.org/
> ">app1</tem:aplicacion>
>
> <tem:usuario xmlns:tem="http://tempuri.org/
> ">user1</tem:usuario>
> </tem:Operation1></soap:Body></soap:Envelope>
> 0
>
> The Response:
>
> HTTP/1.1 500 Internal Server Error.
> Date: Wed, 09 Apr 2008 18:56:49 GMT
> Server: Microsoft-IIS/6.0
> IISExport: This web site was exported using IIS Export v4.1
> X-Powered-By: ASP.NET <http://ASP.NET>
> X-AspNet-Version: 1.1.4322
> Cache-Control: private
> Content-Type: text/xml; charset=utf-8
> Content-Length: 848
>
> <?xml version="1.0" encoding="utf-8"?>
> <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="
> http://www.w3.org/2001/XMLSchema">
> <soap:Body>
> <soap:Fault>
> <faultcode>soap:Client</faultcode>
>
> <faultstring>System.Web.Services.Protocols.SoapException: Unable
> to handle request without a valid action parameter. Please
> supply a valid
> soap action.
> at
> System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()
> at
> System.Web.Services.Protocols.SoapServerProtocol.Initialize()
> at
> System.Web.Services.Protocols.ServerProtocolFactory.Create(Type
> type, HttpContext context, HttpRequest request, HttpResponse
> response,
> Boolean& abortProcessing)</faultstring>
> <detail />
> </soap:Fault>
> </soap:Body>
> </soap:Envelope>
>
>
> Regards
>
> Esteban
>
> On Wed, Apr 9, 2008 at 1:10 PM, antoniofer
> <antoniofer@dit.upm.es <ma...@dit.upm.es>> wrote:
>
>
>
> 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
> <antoniofer@dit.upm.es <ma...@dit.upm.es>>
>
>
> 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 <freeman.fang@gmail.com
> <ma...@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="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
>
>
> <freeman.fang@gmail.com
> <ma...@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="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 <
>
>
> freeman.fang@gmail.com <ma...@gmail.com>
>
>
> 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 <
> freeman.fang@gmail.com
> <ma...@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="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.
>
>
>
>
>
>
>
>
>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
Re: Take SOAPAction from client's request
Posted by Guillaume Nodet <gn...@gmail.com>.
Hi Freeman, I'm just wondering if this interceptor should be added by
default. Any opinion ?
On Thu, Apr 10, 2008 at 2:30 AM, Freeman Fang <fr...@gmail.com>
wrote:
> Hi Esteban,
>
> I forget to mention you need add
> <cxfbc:outInterceptors>
> <bean
> class="org.apache.cxf.binding.soap.interceptor.SoapActionOutInterceptor"/>
> </cxfbc:outInterceptors>
> for your cxf bc provider configuration, this interceptor will
> add soapAction according to the wsdl to your message.
> Best Regards
>
>
> Freeman
>
> Esteban Forzani wrote:
>
> > Hi, I used ServiceMix-3.2.2-SNAPSHOT also, but don't work, throw it the
> > following exception:
> >
> > 09-abr-2008 15:54:32 org.apache.cxf.phase.PhaseInterceptorChain
> > doIntercept
> > INFO: Interceptor has thrown exception, unwinding now
> > java.lang.NullPointerException
> > at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown
> > Source)
> > at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown
> > Source)
> > at
> >
> > org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleJBIFault(JbiInWsdl1I
> > nterceptor.java:220)
> > at
> >
> > org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1In
> > terceptor.java:142)
> > at
> >
> > org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1In
> > terceptor.java:60)
> > at
> >
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
> > at
> >
> > org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageOb
> > server.java:121)
> > at
> >
> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.
> > java:1976)
> > at
> >
> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1812
> > )
> > at
> >
> > org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
> > at
> >
> > org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> > at
> >
> > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:4
> > 90)
> > at
> >
> > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> > at
> >
> > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImp
> > l.java:610)
> > at
> >
> > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
> > at
> >
> > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> > at
> >
> > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> > at
> >
> > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> > at
> >
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> > at java.lang.Thread.run(Thread.java:595)
> >
> > I used to capture the messages TCPMon and I discovered that it are not
> > send the SOAPAction from the provider to external webservice.
> > The exception is thrown when trying parse the fault.
> >
> > The request from the client to ESB is:
> >
> > POST /hello/ HTTP/1.1
> > Content-Type: text/xml;charset=UTF-8
> > SOAPAction: "http://tempuri.org/Operation1"
> > User-Agent: Jakarta Commons-HttpClient/3.0.1
> > Host: localhost:8082
> > Content-Length: 424
> >
> > <soapenv:Envelope xmlns:soapenv="
> > http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="
> > http://tempuri.org/">
> > <soapenv:Header/>
> > <soapenv:Body>
> > <tem:Operation1>
> > <!--Optional:-->
> > <tem:aplicacion>app1</tem:aplicacion>
> > <!--Optional:-->
> > <tem:usuario>user1</tem:usuario>
> > </tem:Operation1>
> > </soapenv:Body>
> > </soapenv:Envelope>
> >
> >
> > The request from de ESB is:
> >
> > POST /webservices/hello.asmx HTTP/1.1
> > Content-Type: text/xml; charset=UTF-8
> > Accept: *
> > Cache-Control: no-cache
> > Pragma: no-cache
> > User-Agent: Java/1.5.0_09
> > Host: test.intranet:8085
> > Connection: keep-alive
> > Transfer-Encoding: chunked
> >
> > 18a
> > <soap:Envelope
> > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/
> > "><soap:Body><tem:Operation1
> > xmlns:tem="http://tempuri.org/">
> >
> > <tem:aplicacion xmlns:tem="http://tempuri.org/
> > ">app1</tem:aplicacion>
> >
> > <tem:usuario xmlns:tem="http://tempuri.org/
> > ">user1</tem:usuario>
> > </tem:Operation1></soap:Body></soap:Envelope>
> > 0
> >
> > The Response:
> >
> > HTTP/1.1 500 Internal Server Error.
> > Date: Wed, 09 Apr 2008 18:56:49 GMT
> > Server: Microsoft-IIS/6.0
> > IISExport: This web site was exported using IIS Export v4.1
> > X-Powered-By: ASP.NET
> > X-AspNet-Version: 1.1.4322
> > Cache-Control: private
> > Content-Type: text/xml; charset=utf-8
> > Content-Length: 848
> >
> > <?xml version="1.0" encoding="utf-8"?>
> > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="
> > http://www.w3.org/2001/XMLSchema">
> > <soap:Body>
> > <soap:Fault>
> > <faultcode>soap:Client</faultcode>
> > <faultstring>System.Web.Services.Protocols.SoapException:
> > Unable
> > to handle request without a valid action parameter. Please supply a
> > valid
> > soap action.
> > at
> > System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()
> > at System.Web.Services.Protocols.SoapServerProtocol.Initialize()
> > at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type
> > type, HttpContext context, HttpRequest request, HttpResponse response,
> > Boolean& abortProcessing)</faultstring>
> > <detail />
> > </soap:Fault>
> > </soap:Body>
> > </soap:Envelope>
> >
> >
> > Regards
> >
> > Esteban
> >
> > On Wed, Apr 9, 2008 at 1:10 PM, antoniofer <an...@dit.upm.es>
> > wrote:
> >
> >
> >
> > > 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 <an...@dit.upm.es>
> > > >
> > > >
> > > 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 <
> > > > > > > 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="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
> > > > > > > > >
> > > > > > > > >
> > > > > > > > <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="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 <
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > freeman.fang@gmail.com
> > > > >
> > > > >
> > > > > > 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 <
> > > > > > > > > > > > > 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="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.
> > >
> > >
> > >
> > >
> >
> >
> >
>
>
--
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
Re: Take SOAPAction from client's request
Posted by Freeman Fang <fr...@gmail.com>.
Hi Esteban,
The exception you see in smx 3.2.1 already get fixed, [1] track this issue.
And now we add SoapActionOutInterceptor by default for cxf bc provider,
so you needn't add it in your configuratin, [2] track this issue.
[1]http://issues.apache.org/activemq/browse/SM-1159
[2]http://issues.apache.org/activemq/browse/SM-1313
Regards
Freeman
Esteban Forzani wrote:
> Thanks Freeman! It worked!!!
> The xbean.xml was like this:
>
> <cxfbc:consumer wsdl="classpath:hellopf.wsdl"
> endpoint="helloPFPort" targetEndpoint="helloPFSoap"
> targetService="tempuri:helloPF">
> </cxfbc:consumer>
> <cxfbc:provider
> wsdl="http://test.intranet/webservices/hellopf.asmx?WSDL"
> locationURI="http://test.intranet/webservices/hellopf.asmx"
> service="tempuri:helloPF" endpoint="helloPFSoap">
> <cxfbc:outInterceptors>
> <bean
>
> class="org.apache.cxf.binding.soap.interceptor.SoapActionOutInterceptor" />
> </cxfbc:outInterceptors>
> </cxfbc:provider>
>
> The only comment is that in Servicemix-3.2.1 throws the next exception, but
> it works well:
>
> INFO [STDOUT] javax.jbi.messaging.MessagingException: Out not supported
> INFO [STDOUT] at
> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(MessageExchangeImpl.java:357)
> INFO [STDOUT] at
> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageObserver.java:125)
> INFO [STDOUT] at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1932)
> INFO [STDOUT] at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1790)
> INFO [STDOUT] at
> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:166)
> INFO [STDOUT] at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> INFO [STDOUT] at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
> INFO [STDOUT] at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> INFO [STDOUT] at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
> INFO [STDOUT] at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
> INFO [STDOUT] at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> INFO [STDOUT] at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> INFO [STDOUT] at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> INFO [STDOUT] at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> INFO [STDOUT] at java.lang.Thread.run(Thread.java:595)
>
> In servicemix-3.2.2-SNAPSHOT works correctly.
>
> Regards
>
> Esteban
>
>
> On Wed, Apr 9, 2008 at 9:30 PM, Freeman Fang <fr...@gmail.com> wrote:
>
>
>> Hi Esteban,
>>
>> I forget to mention you need add
>> <cxfbc:outInterceptors>
>> <bean
>> class="org.apache.cxf.binding.soap.interceptor.SoapActionOutInterceptor"/>
>> </cxfbc:outInterceptors>
>> for your cxf bc provider configuration, this interceptor will
>> add soapAction according to the wsdl to your message.
>> Best Regards
>>
>>
>> Freeman
>>
>> Esteban Forzani wrote:
>>
>>
>>> Hi, I used ServiceMix-3.2.2-SNAPSHOT also, but don't work, throw it the
>>> following exception:
>>>
>>> 09-abr-2008 15:54:32 org.apache.cxf.phase.PhaseInterceptorChain
>>> doIntercept
>>> INFO: Interceptor has thrown exception, unwinding now
>>> java.lang.NullPointerException
>>> at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown
>>> Source)
>>> at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown
>>> Source)
>>> at
>>>
>>> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleJBIFault(JbiInWsdl1I
>>> nterceptor.java:220)
>>> at
>>>
>>> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1In
>>> terceptor.java:142)
>>> at
>>>
>>> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1In
>>> terceptor.java:60)
>>> at
>>>
>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
>>> at
>>>
>>> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageOb
>>> server.java:121)
>>> at
>>>
>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.
>>> java:1976)
>>> at
>>>
>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1812
>>> )
>>> at
>>>
>>> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
>>> at
>>>
>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>>> at
>>>
>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:4
>>> 90)
>>> at
>>>
>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>> at
>>>
>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImp
>>> l.java:610)
>>> at
>>>
>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>> at
>>>
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>> at
>>>
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>> at
>>>
>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>> at
>>>
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>> at java.lang.Thread.run(Thread.java:595)
>>>
>>> I used to capture the messages TCPMon and I discovered that it are not
>>> send the SOAPAction from the provider to external webservice.
>>> The exception is thrown when trying parse the fault.
>>>
>>> The request from the client to ESB is:
>>>
>>> POST /hello/ HTTP/1.1
>>> Content-Type: text/xml;charset=UTF-8
>>> SOAPAction: "http://tempuri.org/Operation1"
>>> User-Agent: Jakarta Commons-HttpClient/3.0.1
>>> Host: localhost:8082
>>> Content-Length: 424
>>>
>>> <soapenv:Envelope xmlns:soapenv="
>>> http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="
>>> http://tempuri.org/">
>>> <soapenv:Header/>
>>> <soapenv:Body>
>>> <tem:Operation1>
>>> <!--Optional:-->
>>> <tem:aplicacion>app1</tem:aplicacion>
>>> <!--Optional:-->
>>> <tem:usuario>user1</tem:usuario>
>>> </tem:Operation1>
>>> </soapenv:Body>
>>> </soapenv:Envelope>
>>>
>>>
>>> The request from de ESB is:
>>>
>>> POST /webservices/hello.asmx HTTP/1.1
>>> Content-Type: text/xml; charset=UTF-8
>>> Accept: *
>>> Cache-Control: no-cache
>>> Pragma: no-cache
>>> User-Agent: Java/1.5.0_09
>>> Host: test.intranet:8085
>>> Connection: keep-alive
>>> Transfer-Encoding: chunked
>>>
>>> 18a
>>> <soap:Envelope
>>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/
>>> "><soap:Body><tem:Operation1
>>> xmlns:tem="http://tempuri.org/">
>>>
>>> <tem:aplicacion xmlns:tem="http://tempuri.org/
>>> ">app1</tem:aplicacion>
>>>
>>> <tem:usuario xmlns:tem="http://tempuri.org/
>>> ">user1</tem:usuario>
>>> </tem:Operation1></soap:Body></soap:Envelope>
>>> 0
>>>
>>> The Response:
>>>
>>> HTTP/1.1 500 Internal Server Error.
>>> Date: Wed, 09 Apr 2008 18:56:49 GMT
>>> Server: Microsoft-IIS/6.0
>>> IISExport: This web site was exported using IIS Export v4.1
>>> X-Powered-By: ASP.NET
>>> X-AspNet-Version: 1.1.4322
>>> Cache-Control: private
>>> Content-Type: text/xml; charset=utf-8
>>> Content-Length: 848
>>>
>>> <?xml version="1.0" encoding="utf-8"?>
>>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="
>>> http://www.w3.org/2001/XMLSchema">
>>> <soap:Body>
>>> <soap:Fault>
>>> <faultcode>soap:Client</faultcode>
>>> <faultstring>System.Web.Services.Protocols.SoapException:
>>> Unable
>>> to handle request without a valid action parameter. Please supply a
>>> valid
>>> soap action.
>>> at
>>> System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()
>>> at System.Web.Services.Protocols.SoapServerProtocol.Initialize()
>>> at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type
>>> type, HttpContext context, HttpRequest request, HttpResponse response,
>>> Boolean& abortProcessing)</faultstring>
>>> <detail />
>>> </soap:Fault>
>>> </soap:Body>
>>> </soap:Envelope>
>>>
>>>
>>> Regards
>>>
>>> Esteban
>>>
>>> On Wed, Apr 9, 2008 at 1:10 PM, antoniofer <an...@dit.upm.es>
>>> wrote:
>>>
>>>
>>>
>>>
>>>> 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 <an...@dit.upm.es>
>>>>>
>>>>>
>>>>>
>>>> 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 <
>>>>>>>> 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="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
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> <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="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 <
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>> freeman.fang@gmail.com
>>>>>>>>>>>
>>>>>>
>>>>>>> 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 <
>>>>>>>>>>>>>> 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="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.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>> <http://qtl.co.il/aff> <http://qtl.co.il><http://search.babylon.com/web/%0D%0A%0D%0A%0D%0A--%20%0D%0AEsteban%20Forzani?babsrc=qtl><http://search.yahoo.com/search?p=%0D%0A%0D%0A%0D%0A--%20%0D%0AEsteban%20Forzani><http://www.flickr.com/search/?q=%0D%0A%0D%0A%0D%0A--%20%0D%0AEsteban%20Forzani><http://www.youtube.com/results?search_query=%0D%0A%0D%0A%0D%0A--%20%0D%0AEsteban%20Forzani&search=Search>
>>
>>
>
>
Re: Take SOAPAction from client's request
Posted by Esteban Forzani <ef...@gmail.com>.
Thanks Freeman! It worked!!!
The xbean.xml was like this:
<cxfbc:consumer wsdl="classpath:hellopf.wsdl"
endpoint="helloPFPort" targetEndpoint="helloPFSoap"
targetService="tempuri:helloPF">
</cxfbc:consumer>
<cxfbc:provider
wsdl="http://test.intranet/webservices/hellopf.asmx?WSDL"
locationURI="http://test.intranet/webservices/hellopf.asmx"
service="tempuri:helloPF" endpoint="helloPFSoap">
<cxfbc:outInterceptors>
<bean
class="org.apache.cxf.binding.soap.interceptor.SoapActionOutInterceptor" />
</cxfbc:outInterceptors>
</cxfbc:provider>
The only comment is that in Servicemix-3.2.1 throws the next exception, but
it works well:
INFO [STDOUT] javax.jbi.messaging.MessagingException: Out not supported
INFO [STDOUT] at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(MessageExchangeImpl.java:357)
INFO [STDOUT] at
org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageObserver.java:125)
INFO [STDOUT] at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1932)
INFO [STDOUT] at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1790)
INFO [STDOUT] at
org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:166)
INFO [STDOUT] at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
INFO [STDOUT] at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
INFO [STDOUT] at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
INFO [STDOUT] at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
INFO [STDOUT] at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
INFO [STDOUT] at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
INFO [STDOUT] at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
INFO [STDOUT] at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
INFO [STDOUT] at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
INFO [STDOUT] at java.lang.Thread.run(Thread.java:595)
In servicemix-3.2.2-SNAPSHOT works correctly.
Regards
Esteban
On Wed, Apr 9, 2008 at 9:30 PM, Freeman Fang <fr...@gmail.com> wrote:
> Hi Esteban,
>
> I forget to mention you need add
> <cxfbc:outInterceptors>
> <bean
> class="org.apache.cxf.binding.soap.interceptor.SoapActionOutInterceptor"/>
> </cxfbc:outInterceptors>
> for your cxf bc provider configuration, this interceptor will
> add soapAction according to the wsdl to your message.
> Best Regards
>
>
> Freeman
>
> Esteban Forzani wrote:
>
> > Hi, I used ServiceMix-3.2.2-SNAPSHOT also, but don't work, throw it the
> > following exception:
> >
> > 09-abr-2008 15:54:32 org.apache.cxf.phase.PhaseInterceptorChain
> > doIntercept
> > INFO: Interceptor has thrown exception, unwinding now
> > java.lang.NullPointerException
> > at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown
> > Source)
> > at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown
> > Source)
> > at
> >
> > org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleJBIFault(JbiInWsdl1I
> > nterceptor.java:220)
> > at
> >
> > org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1In
> > terceptor.java:142)
> > at
> >
> > org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1In
> > terceptor.java:60)
> > at
> >
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
> > at
> >
> > org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageOb
> > server.java:121)
> > at
> >
> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.
> > java:1976)
> > at
> >
> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1812
> > )
> > at
> >
> > org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
> > at
> >
> > org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> > at
> >
> > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:4
> > 90)
> > at
> >
> > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> > at
> >
> > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImp
> > l.java:610)
> > at
> >
> > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
> > at
> >
> > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> > at
> >
> > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> > at
> >
> > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> > at
> >
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> > at java.lang.Thread.run(Thread.java:595)
> >
> > I used to capture the messages TCPMon and I discovered that it are not
> > send the SOAPAction from the provider to external webservice.
> > The exception is thrown when trying parse the fault.
> >
> > The request from the client to ESB is:
> >
> > POST /hello/ HTTP/1.1
> > Content-Type: text/xml;charset=UTF-8
> > SOAPAction: "http://tempuri.org/Operation1"
> > User-Agent: Jakarta Commons-HttpClient/3.0.1
> > Host: localhost:8082
> > Content-Length: 424
> >
> > <soapenv:Envelope xmlns:soapenv="
> > http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="
> > http://tempuri.org/">
> > <soapenv:Header/>
> > <soapenv:Body>
> > <tem:Operation1>
> > <!--Optional:-->
> > <tem:aplicacion>app1</tem:aplicacion>
> > <!--Optional:-->
> > <tem:usuario>user1</tem:usuario>
> > </tem:Operation1>
> > </soapenv:Body>
> > </soapenv:Envelope>
> >
> >
> > The request from de ESB is:
> >
> > POST /webservices/hello.asmx HTTP/1.1
> > Content-Type: text/xml; charset=UTF-8
> > Accept: *
> > Cache-Control: no-cache
> > Pragma: no-cache
> > User-Agent: Java/1.5.0_09
> > Host: test.intranet:8085
> > Connection: keep-alive
> > Transfer-Encoding: chunked
> >
> > 18a
> > <soap:Envelope
> > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/
> > "><soap:Body><tem:Operation1
> > xmlns:tem="http://tempuri.org/">
> >
> > <tem:aplicacion xmlns:tem="http://tempuri.org/
> > ">app1</tem:aplicacion>
> >
> > <tem:usuario xmlns:tem="http://tempuri.org/
> > ">user1</tem:usuario>
> > </tem:Operation1></soap:Body></soap:Envelope>
> > 0
> >
> > The Response:
> >
> > HTTP/1.1 500 Internal Server Error.
> > Date: Wed, 09 Apr 2008 18:56:49 GMT
> > Server: Microsoft-IIS/6.0
> > IISExport: This web site was exported using IIS Export v4.1
> > X-Powered-By: ASP.NET
> > X-AspNet-Version: 1.1.4322
> > Cache-Control: private
> > Content-Type: text/xml; charset=utf-8
> > Content-Length: 848
> >
> > <?xml version="1.0" encoding="utf-8"?>
> > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="
> > http://www.w3.org/2001/XMLSchema">
> > <soap:Body>
> > <soap:Fault>
> > <faultcode>soap:Client</faultcode>
> > <faultstring>System.Web.Services.Protocols.SoapException:
> > Unable
> > to handle request without a valid action parameter. Please supply a
> > valid
> > soap action.
> > at
> > System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()
> > at System.Web.Services.Protocols.SoapServerProtocol.Initialize()
> > at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type
> > type, HttpContext context, HttpRequest request, HttpResponse response,
> > Boolean& abortProcessing)</faultstring>
> > <detail />
> > </soap:Fault>
> > </soap:Body>
> > </soap:Envelope>
> >
> >
> > Regards
> >
> > Esteban
> >
> > On Wed, Apr 9, 2008 at 1:10 PM, antoniofer <an...@dit.upm.es>
> > wrote:
> >
> >
> >
> > > 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 <an...@dit.upm.es>
> > > >
> > > >
> > > 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 <
> > > > > > > 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="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
> > > > > > > > >
> > > > > > > > >
> > > > > > > > <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="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 <
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > freeman.fang@gmail.com
> > > > >
> > > > >
> > > > > > 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 <
> > > > > > > > > > > > > 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="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.
> > >
> > >
> > >
> > >
> >
> >
> >
> <http://qtl.co.il/aff> <http://qtl.co.il><http://search.babylon.com/web/%0D%0A%0D%0A%0D%0A--%20%0D%0AEsteban%20Forzani?babsrc=qtl><http://search.yahoo.com/search?p=%0D%0A%0D%0A%0D%0A--%20%0D%0AEsteban%20Forzani><http://www.flickr.com/search/?q=%0D%0A%0D%0A%0D%0A--%20%0D%0AEsteban%20Forzani><http://www.youtube.com/results?search_query=%0D%0A%0D%0A%0D%0A--%20%0D%0AEsteban%20Forzani&search=Search>
>
Re: Take SOAPAction from client's request
Posted by Freeman Fang <fr...@gmail.com>.
Hi Esteban,
I forget to mention you need add
<cxfbc:outInterceptors>
<bean
class="org.apache.cxf.binding.soap.interceptor.SoapActionOutInterceptor"/>
</cxfbc:outInterceptors>
for your cxf bc provider configuration, this interceptor will
add soapAction according to the wsdl to your message.
Best Regards
Freeman
Esteban Forzani wrote:
> Hi, I used ServiceMix-3.2.2-SNAPSHOT also, but don't work, throw it the
> following exception:
>
> 09-abr-2008 15:54:32 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> java.lang.NullPointerException
> at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)
> at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)
> at
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleJBIFault(JbiInWsdl1I
> nterceptor.java:220)
> at
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1In
> terceptor.java:142)
> at
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1In
> terceptor.java:60)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
> at
> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageOb
> server.java:121)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.
> java:1976)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1812
> )
> at
> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:4
> 90)
> at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImp
> l.java:610)
> at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
>
> I used to capture the messages TCPMon and I discovered that it are not
> send the SOAPAction from the provider to external webservice.
> The exception is thrown when trying parse the fault.
>
> The request from the client to ESB is:
>
> POST /hello/ HTTP/1.1
> Content-Type: text/xml;charset=UTF-8
> SOAPAction: "http://tempuri.org/Operation1"
> User-Agent: Jakarta Commons-HttpClient/3.0.1
> Host: localhost:8082
> Content-Length: 424
>
> <soapenv:Envelope xmlns:soapenv="
> http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
> <soapenv:Header/>
> <soapenv:Body>
> <tem:Operation1>
> <!--Optional:-->
> <tem:aplicacion>app1</tem:aplicacion>
> <!--Optional:-->
> <tem:usuario>user1</tem:usuario>
> </tem:Operation1>
> </soapenv:Body>
> </soapenv:Envelope>
>
>
> The request from de ESB is:
>
> POST /webservices/hello.asmx HTTP/1.1
> Content-Type: text/xml; charset=UTF-8
> Accept: *
> Cache-Control: no-cache
> Pragma: no-cache
> User-Agent: Java/1.5.0_09
> Host: test.intranet:8085
> Connection: keep-alive
> Transfer-Encoding: chunked
>
> 18a
> <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><tem:Operation1
> xmlns:tem="http://tempuri.org/">
>
> <tem:aplicacion xmlns:tem="http://tempuri.org/
> ">app1</tem:aplicacion>
>
> <tem:usuario xmlns:tem="http://tempuri.org/
> ">user1</tem:usuario>
> </tem:Operation1></soap:Body></soap:Envelope>
> 0
>
> The Response:
>
> HTTP/1.1 500 Internal Server Error.
> Date: Wed, 09 Apr 2008 18:56:49 GMT
> Server: Microsoft-IIS/6.0
> IISExport: This web site was exported using IIS Export v4.1
> X-Powered-By: ASP.NET
> X-AspNet-Version: 1.1.4322
> Cache-Control: private
> Content-Type: text/xml; charset=utf-8
> Content-Length: 848
>
> <?xml version="1.0" encoding="utf-8"?>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="
> http://www.w3.org/2001/XMLSchema">
> <soap:Body>
> <soap:Fault>
> <faultcode>soap:Client</faultcode>
> <faultstring>System.Web.Services.Protocols.SoapException: Unable
> to handle request without a valid action parameter. Please supply a valid
> soap action.
> at
> System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()
> at System.Web.Services.Protocols.SoapServerProtocol.Initialize()
> at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type
> type, HttpContext context, HttpRequest request, HttpResponse response,
> Boolean& abortProcessing)</faultstring>
> <detail />
> </soap:Fault>
> </soap:Body>
> </soap:Envelope>
>
>
> Regards
>
> Esteban
>
> On Wed, Apr 9, 2008 at 1:10 PM, antoniofer <an...@dit.upm.es> wrote:
>
>
>> 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 <an...@dit.upm.es>
>>>
>> 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 <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="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
>>>>>>>>
>>>> <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="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 <
>>>>>>>>>>
>>>> freeman.fang@gmail.com
>>>>
>>>>>>>>>> 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 <
>>>>>>>>>>>> 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="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.
>>
>>
>>
>
>
Re: Take SOAPAction from client's request
Posted by Esteban Forzani <ef...@gmail.com>.
Hi, I used ServiceMix-3.2.2-SNAPSHOT also, but don't work, throw it the
following exception:
09-abr-2008 15:54:32 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
java.lang.NullPointerException
at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)
at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)
at
org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleJBIFault(JbiInWsdl1I
nterceptor.java:220)
at
org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1In
terceptor.java:142)
at
org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1In
terceptor.java:60)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
at
org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageOb
server.java:121)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.
java:1976)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1812
)
at
org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:200)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:4
90)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImp
l.java:610)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
I used to capture the messages TCPMon and I discovered that it are not
send the SOAPAction from the provider to external webservice.
The exception is thrown when trying parse the fault.
The request from the client to ESB is:
POST /hello/ HTTP/1.1
Content-Type: text/xml;charset=UTF-8
SOAPAction: "http://tempuri.org/Operation1"
User-Agent: Jakarta Commons-HttpClient/3.0.1
Host: localhost:8082
Content-Length: 424
<soapenv:Envelope xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:Operation1>
<!--Optional:-->
<tem:aplicacion>app1</tem:aplicacion>
<!--Optional:-->
<tem:usuario>user1</tem:usuario>
</tem:Operation1>
</soapenv:Body>
</soapenv:Envelope>
The request from de ESB is:
POST /webservices/hello.asmx HTTP/1.1
Content-Type: text/xml; charset=UTF-8
Accept: *
Cache-Control: no-cache
Pragma: no-cache
User-Agent: Java/1.5.0_09
Host: test.intranet:8085
Connection: keep-alive
Transfer-Encoding: chunked
18a
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><tem:Operation1
xmlns:tem="http://tempuri.org/">
<tem:aplicacion xmlns:tem="http://tempuri.org/
">app1</tem:aplicacion>
<tem:usuario xmlns:tem="http://tempuri.org/
">user1</tem:usuario>
</tem:Operation1></soap:Body></soap:Envelope>
0
The Response:
HTTP/1.1 500 Internal Server Error.
Date: Wed, 09 Apr 2008 18:56:49 GMT
Server: Microsoft-IIS/6.0
IISExport: This web site was exported using IIS Export v4.1
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Content-Length: 848
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="
http://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>System.Web.Services.Protocols.SoapException: Unable
to handle request without a valid action parameter. Please supply a valid
soap action.
at
System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()
at System.Web.Services.Protocols.SoapServerProtocol.Initialize()
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type
type, HttpContext context, HttpRequest request, HttpResponse response,
Boolean& abortProcessing)</faultstring>
<detail />
</soap:Fault>
</soap:Body>
</soap:Envelope>
Regards
Esteban
On Wed, Apr 9, 2008 at 1:10 PM, antoniofer <an...@dit.upm.es> wrote:
>
> 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 <an...@dit.upm.es>
> 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 <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="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
> >> <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="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 <
> >> freeman.fang@gmail.com
> >> >>>>>>
> >> >>>>>> 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 <
> >> >>>>>>>> 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="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.
>
>
Re: Take SOAPAction from client's request
Posted by antoniofer <an...@dit.upm.es>.
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 <an...@dit.upm.es> 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 <fr...@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="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
>> <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="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 <
>> freeman.fang@gmail.com
>> >>>>>>
>> >>>>>> 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 <
>> >>>>>>>> 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="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.
Re: Take SOAPAction from client's request
Posted by Guillaume Nodet <gn...@gmail.com>.
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 <an...@dit.upm.es> 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 <fr...@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="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 <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="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 <
> freeman.fang@gmail.com
> >>>>>>
> >>>>>> 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 <
> >>>>>>>> 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="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/
Re: Take SOAPAction from client's request
Posted by antoniofer <an...@dit.upm.es>.
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 <fr...@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="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 <fr...@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="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 <freeman.fang@gmail.com
>>>>>>
>>>>>> 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 <
>>>>>>>> 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="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.
Re: Take SOAPAction from client's request
Posted by Freeman Fang <fr...@gmail.com>.
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 <fr...@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="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 <fr...@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="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 <freeman.fang@gmail.com
>>>>>
>>>>> 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 <
>>>>>>> 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="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
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>
>
>
>
Re: Take SOAPAction from client's request
Posted by Esteban Forzani <ef...@gmail.com>.
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 <fr...@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="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 <fr...@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="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 <freeman.fang@gmail.com
> > > > >
> > > > 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 <
> > > > > > 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="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
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
> >
> >
>
>
--
Esteban Forzani
Re: Take SOAPAction from client's request
Posted by Freeman Fang <fr...@gmail.com>.
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 <fr...@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="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 <fr...@gmail.com>
>>> 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 <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="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
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>
>
>
>
Re: Take SOAPAction from client's request
Posted by Esteban Forzani <ef...@gmail.com>.
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 <fr...@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="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 <fr...@gmail.com>
> > 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 <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="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
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
> >
> >
>
>
--
Esteban Forzani
Re: Take SOAPAction from client's request
Posted by Freeman Fang <fr...@gmail.com>.
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 <fr...@gmail.com> 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 <fr...@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="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
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>
>
>
>
Re: Take SOAPAction from client's request
Posted by Esteban Forzani <ef...@gmail.com>.
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 <fr...@gmail.com> 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 <fr...@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="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
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
> >
> >
>
>
--
Esteban Forzani
Re: Take SOAPAction from client's request
Posted by Freeman Fang <fr...@gmail.com>.
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 <fr...@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="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
>>>
>>>
>>>
>>>
>>
>
>
>
Re: Take SOAPAction from client's request
Posted by Esteban Forzani <ef...@gmail.com>.
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 <fr...@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="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
> >
> >
> >
>
>
--
Esteban Forzani
Re: Take SOAPAction from client's request
Posted by Freeman Fang <fr...@gmail.com>.
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
>
>
Re: Take SOAPAction from client's request
Posted by Guillaume Nodet <gn...@gmail.com>.
The <http:endpoint/> does not really support it (note that SOAPAction is
kinda deprecated anyway), so I would advise you to use the servicemix-cxfbc
component instead.
On Mon, Mar 31, 2008 at 9:40 PM, Esteban Forzani <ef...@gmail.com> 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
>
--
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/