| From | Sent On | Attachments |
|---|---|---|
| Farrukh Najmi | Aug 13, 2007 4:24 pm | |
| Farrukh Najmi | Aug 14, 2007 5:47 am | |
| Farrukh Najmi | Aug 14, 2007 7:05 am | |
| Vivek Pandey | Aug 14, 2007 8:53 am | |
| Kohsuke Kawaguchi | Aug 14, 2007 9:28 am | |
| Farrukh Najmi | Aug 14, 2007 9:50 am | |
| Kohsuke Kawaguchi | Aug 14, 2007 11:03 am | |
| Farrukh Najmi | Aug 14, 2007 1:58 pm | |
| Vivek Pandey | Aug 14, 2007 2:10 pm |
| Subject: | Re: Cannot find dispatch method for XXX using "Payload QName-based Dispatcher" | |
|---|---|---|
| From: | Vivek Pandey (Vive...@Sun.COM) | |
| Date: | Aug 14, 2007 2:10:27 pm | |
| List: | net.java.dev.metro.users | |
Farrukh,
So that we can track please report an issue on JAX-WS RI.
thanks,
-vivek.
Farrukh Najmi wrote:
Vivek Pandey wrote:
Hi Farrukh,
JAX-WS runtime does dispatching based on either QName or SOAPAction value. From the stack trace it looks like there are more than one operation which reference the global element {http://www.a.net/x/y/z}SomeClass. The runtime does not know which one to dispatch.
Basically in a WSDL you can have the operations either pointing to a unique global element or have unique value of SOAPAction on wsdl:binding/wsdl:operation element in the WSDL.
To find out which JAX-WS runtime is being used, there are 2 ways: see the deployed WSDL, you should see JAX-WS RI version number there or capture the SOAP message trace, HTTP header User-Agent will tell which version of JAX-WS RI you are using.
OK the cause for this problem has been found. Thanks Vivek and Kohsuke for their help. Vivek suggested I comment out in WSDL all but the offending endpoint. When I did I got a 404 error on client when invoking endpoint.
The cause was that I was incorrectly setting endpoint URL for port X to that of endpoint URL for port Y. Things worked on Port Y invocation (obviously) and not for port X invocation (obviously).
I suggest improving the "Cannot find dispatch method for XXX" error to include endpoint URL and suggest:
"Please check that the endpoint URL is correct for the endpoint you are invoking"
Above would save a lot of grief.
Thanks again for the terrific help and sorry for the false alarm.





