The Axis service is returning a message that doesn't match the WSDL description. If you developed the service using a WSDL-first approach, then your tool is generating something wrong in the service. If you developed the service using a code-first approach, then you tool is generating an inappropriate WSDL.
Anne On 9/22/06, Brian Moffatt <[EMAIL PROTECTED]> wrote:
Thanks Anne. I've actually been trying out the web services capabilities in the Eclipse Web Tools Platform and that's how I created this particular service. I (maybe incorrectly) assumed that it was just making calls directly to the Axis tools behind the scenes without any additional interference. So I figured I'd end up with the same WSDL/service as if I'd done it all using the Axis tools directly. I didn't actually try that, however. Part of the reason was that my presentation to my group was going to be that there were now some more developer-friendly tools (Eclipse WTP) for creating Web Services with Axis. But maybe there are some issues there? By your comment, did you mean that the WSDL itself was in error or that the Axis service seemed to be returning a SOAP response that was in conflict with the service definition laid out in the WSDL? Brian --- Anne Thomas Manes <[EMAIL PROTECTED]> wrote: > According to the WSDL, Axis is doing it wrong. .NET > is a lot more > tempermental about namespaces. The proper response > message should look > like this: > > <?xml version="1.0" encoding="utf-8"?> > <soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <soapenv:Body> > <getAllBooksResponse > xmlns="http://oracle.dao.tooltime.sete.stl.mo.boeing.com" > > xmlns:dto="http://dto.dao.tooltime.sete.stl.mo.boeing.com"> > <getAllBooksReturn> > <dto:author>Stephen King</dto:author> > <dto:id>2</dto:id> > <dto:numPages>350</dto:numPages> > <dto:title>Gerald's Game</dto:title> > </getAllBooksReturn> > <getAllBooksReturn> > <dto:author>Stephen King</dto:author> > <dto:id>1</dto:id> > <dto:numPages>500</dto:numPages> > <dto:title>The Shining</dto:title> > </getAllBooksReturn> > </getAllBooksResponse> > </soapenv:Body> > </soapenv:Envelope> > > How did you create the service? > > Anne > > On 9/21/06, Brian Moffatt <[EMAIL PROTECTED]> > wrote: > > Thanks Anne. I too thought wrapped doc/literal > would > > be my best bet for interoperability. Attached are > my > > WSDL, and some SOAP messages. The file > > javaSOAPMessages.txt contains the request and > response > > messages captured when calling the Axis service > from > > the Java client (which works beautifully). The > file > > dotNetSOAPMessages.txt contains the request > message > > captured when calling the Axis service from my > .NET > > client. Unfortunately, for whatever reason, the > > TCP/IP monitor I'm using isn't capturing the SOAP > > response in this scenario. I'm working on > figuring > > this out. However I know something is coming back > > because, like I said, I get back an array of two > > objects (as expected). They just don't have any > > values on any of their attributes. > > > > The one thing that jumps out at me is in the > request > > messages, the Java version uses "soapenv" where > the > > .NET version uses "soap". Aside from that the > request > > messages appear to be identical so one would > assume > > that the response messages coming back would be > > identical too. > > > > Note that this is just some test stuff for a > > presentation I'm doing for my group, but if we can > get > > something like this working for .NET - Java > interop, > > we want to look into using WS for some "real" > stuff > > within our group. > > > > Any further ideas about what might be my problem > are > > greatly appreciated. > > > > Brian > > > > --- Anne Thomas Manes <[EMAIL PROTECTED]> wrote: > > > > > Wrapped doc/literal should work -- although you > will > > > probably do > > > better using Axis 1.4 rather than Axis 1.3. > There > > > still are some > > > problems with arrays, but you shouldn't have a > > > problem with the bean. > > > Please post some sample WSDLs and SOAP messages. > > > > > > Anne > > > > > > On 9/20/06, Brian Moffatt > <[EMAIL PROTECTED]> > > > wrote: > > > > I've seen this exact problem addressed in the > > > archives > > > > but never with any clear solution. I was > > > wondering if > > > > this was something for which there is a known > > > solution > > > > and I'm just not finding it. > > > > > > > > Basically, I have an Axis based web service > with 5 > > > > available methods. One returns a simple Java > bean > > > > (made up of three Strings and an int) and one > > > returns > > > > an array of said beans. The others return > > > nothing. I > > > > am using Axis 1.3 and Apache Tomcat 5.0. I > used > > > the > > > > document/literal wrapped mode. I got the > service > > > > deployed fine and can call it successfully > from > > > the > > > > generated Java client proxy code. > > > > > > > > My problem is when I try to call it from .NET. > I > > > ran > > > > the WSDL through the wsdl.exe tool included > with > > > > Visual Studio 2005 and wrote a simple driver > > > console > > > > app to call the generated code. It works. . . > > > sort > > > > of. The method that returns a bean, returns a > > > bean > > > > but all the fields are nulled out or zero. > The > > > method > > > > that returns an array of beans, returns an > array > > > of > > > > beans of the appropriate length, but all the > > > > attributes of the beans in the array are null > / > > > zero. > > > > I did some testing and can get a method that > just > > > > returns a String or primitive to interoperate > > > > correctly using Doc/Literal wrapped. > > > > > > > > One last thing. I did get the Axis -.NET > > > > communication to work completely with the > complex > > > > types / arrays of complex types but had to use > > > > RPC/Encoded when creating my service with Axis > to > > > > achieve success. Ironically, this is the only > way > > > > that makes .NET yell at me for being WS-I > > > > non-compliant when I run wsdl.exe. > > > > > > > > > > > > Does this sound familiar to anyone? Is it a > > > common > > > > problem? Is there a known solution? I've > read > > > that > > > > Doc/Literal wrapped is THE way to go if you > want > > > Axis > > > > - .NET interop, but my experience has been > that > > > > RPC/Encoded is the only way that works. I'd > > > rather > > > > use whatever is WS-I compliant. Any feedback > is > > > > greatly appreciated. I'll gladly supply a > WSDL, > > > SOAP > > > > messages, or other data from my test case > anyone > > > > wishes to see. > > > > > > > > Thanks, > > > > > > > > Brian > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: > > > [EMAIL PROTECTED] > > > > For additional commands, e-mail: > === message truncated === --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
