Hi,
Sorry you need to specify "targetOperation" and not OperationName - it is
not documented but I
see from the schemas that are gernerated for http and cxfbc that you can
specify this.
Just place this in your xbean.xml files.
HTTP endpoint
<http:endpoint service="dummy:http-encode"
targetService="encode:Codage"
endpoint="CodageSOAP"
role="consumer"
targetOperation="OPERATION_NAME"
locationURI="http://0.0.0.0:8192/Encode/"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
CXFBC provider
<cxfbc:provider
wsdl="classpath:codage.wsdl"
locationURI="
https://wwwacc.behealth.smals-mvm.be:443/codage_1_0/codage<https://wwwacc.behealth.smals-mvm.be/codage_1_0/codage>
"
service="encode:Codage"
endpoint="CodageSOAP"
targetOperation="OPERATION_NAME"
useJBIWrapper="false"
/>
Let me know how it works.
Edell.
On Mon, Aug 25, 2008 at 3:50 PM, stlecho <[EMAIL PROTECTED]> wrote:
>
> The SOAPAction was wrongly configured at client side :o(. I've corrected
> this
> and now the SOAPAction is correct, but I'm still receiving the same
> "Operation not bound on this MessageExchange" error message.
>
>
> stlecho wrote:
> >
> > I've created 1 http su that contains 2 http:endpoints. The 1st endpoint
> is
> > running on http://0.0.0.0:8192/PersonQuery/ and the 2nd one on
> > http://0.0.0.0:8192/Encode/. With a client I'm sending the XML request
> to
> > http://0.0.0.0:8192/Encode/ but after inspecting the log files, I've
> > remarked that the soapAction of my 2nd endpoint is the one defined for
> the
> > 1st endpoint :o(.
> >
> > Receiving HTTP request: POST /Encode/ HTTP/1.1
> > Content-Type: text/xml;charset=UTF-8
> > SOAPAction: urn://fsb.belgium.be/fphp/v3_0/findPerson
> > User-Agent: Jakarta Commons-HttpClient/3.0.1
> > Host: localhost:8192
> > Content-Length: 356
> >
> > Regards, Stefan.
> >
> > stlecho wrote:
> >>
> >> Edell,
> >>
> >> I've been looking at the documentation pages of the http and cxfbc
> >> components, but I haven't found a reference to "operationName". Where
> >> should this parameter be specified ?
> >>
> >> Regards, Stefan.
> >>
> >>
> >> Edell Nolan wrote:
> >>>
> >>> Hi,
> >>>
> >>> You need to specify the operation name if there is more than one
> >>> operation
> >>> defined for that PortType.
> >>>
> >>> Have you tried to specify the "operationName"
> >>>
> >>> Edell.
> >>>
> >>>
> >>>
> >>> On Mon, Aug 25, 2008 at 12:59 PM, stlecho <[EMAIL PROTECTED]> wrote:
> >>>
> >>>>
> >>>> Hi,
> >>>>
> >>>> I've configured an http:endpoint and a cxfbc:provider. The WSDL
> >>>> contains 2
> >>>> operations "encode" and "decode".
> >>>>
> >>>> When sending an XML request to the specified http:endpoint, I'm
> >>>> receiving
> >>>> the following error message: "Operation not bound on this
> >>>> MessageExchange".
> >>>> I suppose that this is linked to the fact that the WSDL contains 2
> >>>> operations, but I have not find a way to configure this.
> >>>>
> >>>> Namespace definition
> >>>> xmlns:encode="http://www.ehealth.be/webservices/cod"
> >>>>
> >>>> HTTP endpoint
> >>>> <http:endpoint service="dummy:http-encode"
> >>>> targetService="encode:Codage"
> >>>> endpoint="CodageSOAP"
> >>>> role="consumer"
> >>>> locationURI="http://0.0.0.0:8192/Encode/"
> >>>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
> >>>>
> >>>>
> >>>> CXFBC provider
> >>>> <cxfbc:provider
> >>>> wsdl="classpath:codage.wsdl"
> >>>> locationURI="
> >>>> https://wwwacc.behealth.smals-mvm.be:443/codage_1_0/codage"
> >>>> service="encode:Codage"
> >>>> endpoint="CodageSOAP"
> >>>> useJBIWrapper="false"
> >>>> />
> >>>>
> >>>>
> >>>> Stacktrace
> >>>> 12:47:50,289 | DEBUG | pool-flow.seda.servicemix-cxf-bc-thread-15 |
> >>>> SedaQueue | .jbi.nmr.flow.seda.SedaQueue$1 132 |
> >>>> [EMAIL PROTECTED] dequeued
> >>>> exchange: InOut[
> >>>> id: ID:192.168.13.175-11bf8ae14e1-10:5
> >>>> status: Active
> >>>> role: provider
> >>>> service:
> >>>> {http://www.ehealth.be/webservices/cod}Codage<http://www.ehealth.be/webservices/cod%7DCodage>
> <http://www.ehealth.be/webservices/cod%7DCodage>
> >>>> endpoint: CodageSOAP
> >>>> in: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
> >>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> >>>> xmlns:bean="http://beans.codage.ehealth.smals.be/
> >>>>
> "><soapenv:Header/><soapenv:Body><bean:encodeRequest><applicationName>?</applicationName><originalData><id>?</id><randomize>?</randomize><inputData>?</inputData></originalData></bean:encodeRequest></soapenv:Body></soapenv:Envelope>
> >>>> ]
> >>>> 12:47:50,305 | DEBUG | pool-flow.seda.servicemix-cxf-bc-thread-15 |
> >>>> CxfBcComponent | emix.common.AsyncBaseLifeCycle 468 |
> >>>> Received
> >>>> exchange: status: Active, role: provider
> >>>> 12:47:50,305 | DEBUG | pool-flow.seda.servicemix-cxf-bc-thread-15 |
> >>>> CxfBcComponent | emix.common.AsyncBaseLifeCycle 536 |
> >>>> Retrieved
> >>>> correlation id: ID:192.168.13.175-11bf8ae14e1-10:5
> >>>> 12:47:50,305 | ERROR | pool-flow.seda.servicemix-cxf-bc-thread-15 |
> >>>> CxfBcComponent | ervicemix.common.BaseLifeCycle 48 | Error
> >>>> processing exchange InOut[
> >>>> id: ID:192.168.13.175-11bf8ae14e1-10:5
> >>>> status: Active
> >>>> role: provider
> >>>> service:
> >>>> {http://www.ehealth.be/webservices/cod}Codage<http://www.ehealth.be/webservices/cod%7DCodage>
> <http://www.ehealth.be/webservices/cod%7DCodage>
> >>>> endpoint: CodageSOAP
> >>>> in: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
> >>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> >>>> xmlns:bean="http://beans.codage.ehealth.smals.be/
> >>>>
> "><soapenv:Header/><soapenv:Body><bean:encodeRequest><applicationName>?</applicationName><originalData><id>?</id><randomize>?</randomize><inputData>?</inputData></originalData></bean:encodeRequest></soapenv:Body></soapenv:Envelope>
> >>>> ]
> >>>> org.apache.cxf.interceptor.Fault: Operation not bound on this
> >>>> MessageExchange
> >>>> at
> >>>>
> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:163)
> >>>> at
> >>>>
> >>>>
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> >>>> at
> >>>>
> >>>>
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
> >>>> at
> >>>>
> >>>>
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> >>>> at
> >>>>
> >>>>
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.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)
> >>>> Caused by: java.lang.Exception: Operation not bound on this
> >>>> MessageExchange
> >>>> ... 11 more
> >>>>
> >>>>
> >>>> --
> >>>> View this message in context:
> >>>>
> http://www.nabble.com/Operation-not-bound-on-this-MessageExchange-tp19142533p19142533.html
> >>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
> >>>>
> >>>>
> >>>
> >>>
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Operation-not-bound-on-this-MessageExchange-tp19142533p19145299.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>