Anne
On 6/26/06, Doug B <[EMAIL PROTECTED]> wrote:
Hmmm... so it turns out the options he can specify in his JBoss environment correspond to those on the java2wsdl tool. -T, -A, -y, -u. To me, that should mean they're relevant only to the server side. Yet specifying SOAPAction: OPERATION (-A), doesn't seem to resolve the problem. Furthermore, such options aren't even available on wsdl2java, which is all it seems he should need to be using in this case. (That's another issue, why he can't get an actual service deployed just from wsdl2java artifacts and why he's having to go down this java2wsdl path at all (using the code originally generated from wsdl2java)).
Don't get me wrong, I believe that the wsdd option is the solution (or altering the WSDL to use the operation name as the request element name), I just want to understand why some of Axis seems to understand that the SOAPAction field might need to contain the operation name, but some of it doesn't.
Thanks again for your patient instruction.
DougOn 6/26/06, Doug B <[EMAIL PROTECTED]> wrote:I'm also discovering that my Axis customer is having to do some intermediate step where he generates code from our WSDL but can't find any deployable artifacts until he takes some "other steps", at which point he has to re-specify several options, including... style, encoding, SOAP Action. So far, none of those were set correctly and his ?wsdl didn't even match the "contract" WSDL in those crucial parameters. Will be testing soon with hopefully the correct values specified there.
(I have no details at all on my .NET customer's environment, so it's also possible he had to do some tweaking himself.)
DougOn 6/26/06, Anne Thomas Manes <[EMAIL PROTECTED]> wrote:Not quite. Axis does not assume that you are using wrapped. Axis is reading the Qname of the incoming SOAP body and trying to map it to a known operation. Because you have not explicitly specified that the incoming "doi:SuccessfulCompletionRequest" QName maps to the method "SuccessfulCompletionOperation", Axis doesn't know how to handle the request and returns an error of "No such operation".
You haven't supplied any information about the .NET environment, so I can't tell you why it miraculously worked.
AnneOn 6/26/06, Doug B <[EMAIL PROTECTED]> wrote:Thanks again (you too, Jeff). I'm starting to understand, but bear with me. Your article was helpful, but I'm still left wondering about a few things.
Namely, I'd have to change my WSDL to support "wrapped", whether or not I'm going to actually use it on either side, right? I have to use particular naming conventions. And Axis seems to be assuming that I've done so. Again, strangely enough, my .NET customer's environment did not make this assumption.
Or is Axis' operation name expectation completely unrelated to the "wrapped" convention? Maybe that's the real issue, and *that* seems like something the WS-I would need to address. i.e. whether a request element name should match its operation name to be able to be easily looked up.
Doug
