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: > [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > Request coming in from Java client: <?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> <getAllBooks xmlns="http://oracle.dao.tooltime.sete.stl.mo.boeing.com"/> </soapenv:Body> </soapenv:Envelope> Response going back to Java client: <?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"> <getAllBooksReturn> <author>Stephen King</author> <id>2</id> <numPages>350</numPages> <title>Gerald's Game</title> </getAllBooksReturn> <getAllBooksReturn> <author>Stephen King</author> <id>1</id> <numPages>500</numPages> <title>The Shining</title> </getAllBooksReturn> </getAllBooksResponse> </soapenv:Body> </soapenv:Envelope> Request coming in from .NET client: <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body> <getAllBooks xmlns="http://oracle.dao.tooltime.sete.stl.mo.boeing.com"/> </soap:Body> </soap:Envelope> --------------------------------------------------------------------- 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]
