-
1. Re: How to specify operationName in servicemix cxfbc provider configuration
ffang Aug 3, 2010 8:27 PM (in response to divakar)Hi,
You can't specify operationName in cxf bc provider configuration.
Generally cxf bc provider can determine operationName from incoming message payload based on the wsdl.
And you can specify operationName with MessageExchange.setOperation(QName name) before you send MessageExchange to cxf bc provider.
Freeman
-
2. Re: How to specify operationName in servicemix cxfbc provider configuration
divakar Aug 4, 2010 6:57 AM (in response to ffang)Hi Freeman,
I am getting this exception,
org.apache.cxf.interceptor.Fault: Operation not bound on this MessageExchange
Please let me know if you need any more information.
Thanks,
Divakar
-
3. Re: How to specify operationName in servicemix cxfbc provider configuration
ffang Aug 4, 2010 8:17 AM (in response to divakar)Hi,
If you didn't use MessageExchagne.setOperation(QName) for the MessageExchange you send to the cxf bc provider, then the message payload must match it defined in the wsdl, so that the cxf bc provider can determine the opertionName based on the message payload and wsdl model.
Freeman
-
4. Re: How to specify operationName in servicemix cxfbc provider configuration
divakar Aug 4, 2010 8:24 AM (in response to ffang)Hi Freeman,
I am not setting the operation through MessagExchange,
This is the operation in the wsdl
Is there any place I need to take care of to make sure that the operation is determined by the payload.
Thanks,
Divakar B
-
5. Re: How to specify operationName in servicemix cxfbc provider configuration
ffang Aug 4, 2010 9:03 AM (in response to divakar)Hi,
When I say the wsdl I mean the message schema part, not only the message name.
From the payload you posted here, I can see you are using soap wrapped message, so you need add useJBIWrapper="false" for your cxf bc provider endpoint configuration.
If you are not exactly sure what the payload(jbi wrapper or soap wrapper) should be based on the wsdl, the easiest way for you I can propose is just setup a cxfbc consumer--> cxfbc provider bridge, then from the debug log you can see what the message payload should be in NMR.
The flow you can exactly see the payload is
external client
->cxfbc consumer->cxf bc provider---->external serverFreeman
-
6. Re: How to specify operationName in servicemix cxfbc provider configuration
divakar Aug 4, 2010 9:29 AM (in response to ffang)Hi Freeman,
useJBIWrapper = "false" did the magic, it did pick the operation from the payload. I did not use the MessageExchange.setOperation.
The web service I call is expecting the SOAPAction and it because of this it is throwing exception from the server side, How do I set the SOAPAction for each request and it is different for each operations,
Kindly let me know if you need any more information.
Thanks,
Divakar
-
7. Re: How to specify operationName in servicemix cxfbc provider configuration
ffang Aug 4, 2010 9:36 AM (in response to divakar)Hi,
Generally you needn't set SOAPAction yourself, it will be picked up automatically from your wsdl for cxf bc provider.
Does your wsdl already have soapAction for each wsdl:operation?
Something like
<wsdl:operation name="greetMe">
<soap:operation soapAction="whatever you want" style="document"/>
...
Freeman
-
8. Re: How to specify operationName in servicemix cxfbc provider configuration
divakar Aug 4, 2010 10:13 AM (in response to ffang)Hi Freeman,
This is how the operation is defined in the server.
......
.....
Is any thing missing here
Thanks,
Divakar B
-
9. Re: How to specify operationName in servicemix cxfbc provider configuration
ffang Aug 4, 2010 9:50 PM (in response to divakar)Hi,
For createTicket, you need put the soapActione like
then it will be picked up by cxf bc provider automatically.
Freeman
-
10. Re: How to specify operationName in servicemix cxfbc provider configuration
divakar Aug 5, 2010 2:10 AM (in response to ffang)Thank you!
Your replies on this thread really helped me to understand the component to an extent.
Hi Freeman,
The cxf bc provider is ripping the soap header before it post the request to the targetedURI.
When the request reaches the server it has only the soap body.
Can you please me some input on this? please let me know if you need any more information.
Thanks,
Divakar
-
11. Re: How to specify operationName in servicemix cxfbc provider configuration
divakar Aug 10, 2010 2:13 AM (in response to divakar)Hi,
Can you please provide some inputs on why the SOAP header is being stripped in serivcemix cxfbc provider components? I am still struck with this problem.
Thanks,
Divakar B
-
12. Re: How to specify operationName in servicemix cxfbc provider configuration
divakar Aug 11, 2010 10:43 AM (in response to divakar)The issue is resolved,
Useful link on WS Security -
http://cxf.apache.org/docs/ws-security.html
Thanks,
Divakar B