That's strange, I'm doing it the same exact way and yet I get different results. I wonder why? The only difference between my code and the code you posted below is that in my case, my methods are accepting a request that includes multiple elements and then returning void, whereas it looks like both your request and your response are passing the empty "void". I am doing wrapped doc-lit as well.
-----Original Message----- From: Pasca, Romulus [mailto:[EMAIL PROTECTED] Sent: Monday, June 14, 2004 13:37 To: '[EMAIL PROTECTED]' Subject: RE: Problems returning void in document-literal operation Sabrina, I am working like this: I declare the xml schema in a separate file togheter with the soap messages, I wrote the wsdl file also by hand, wsdl file which includes my shema, and I generate the data structures and the webz service interface using wdsl to java and everything goes well. -----Original Message----- From: Liller, Sabrina L. CIV Sys Eng Branch 1B 9512 [mailto:[EMAIL PROTECTED] Sent: Monday, June 14, 2004 12:16 PM To: [EMAIL PROTECTED] Subject: RE: Problems returning void in document-literal operation Thanks for the suggestion, Romulus - I have tried this workaround, but it doesn't look like it is going to give me what I want. When I follow this model, Axis generates an additional class called "_void" and then my methods return that object, rather than actually returning void. It seems like the only way to generate methods that truly return void rather than returning an Object of some sort is to define an empty message with no parts in the WSDL, but then the service doesn't know what to do with it at runtime...And therein lies my problem. Regards, Sabrina -----Original Message----- From: Pasca, Romulus [mailto:[EMAIL PROTECTED] Sent: Monday, June 14, 2004 12:50 To: '[EMAIL PROTECTED]' Subject: RE: Problems returning void in document-literal operation Hi, I am usin too documnet literal ws style and for all my methods which returns void or are having no parameters I made a declaration of the follwing type: <message name="logoutRequest"> <part name="parameters" element="types:void" /> </message> <message name="logoutResponse"> <part name="parameters" element="types:void" /> </message> <operation name="logout"> <input message="tns:logoutRequest"/> <output message="tns:logoutResponse"/> </operation> were void, is type which I declared in my xml schema file(used by my web service)like this: <xs:element name="void"> <xs:complexType/> </xs:element> and everything works fine Romulus -----Original Message----- From: Liller, Sabrina L. CIV Sys Eng Branch 1B 9512 [mailto:[EMAIL PROTECTED] Sent: Monday, June 14, 2004 11:44 AM To: [EMAIL PROTECTED] Subject: Problems returning void in document-literal operation I have seen a few postings about this problem, but no resolution. I am working on a document-literal service and several of the operations should have a "void" return type. We are following the top-down model, writing the WSDL first and then using WSDL2Java to generate the Java classes. For the operations that should return "void", I have defined the following message in the WSDL (no parts): <wsdl:message name="EmptyMessageResponse" /> Axis has no problem generating the Java code - The methods using this response message are correctly generated as returning "void". But when I try to call the service, I get the following error: org.xml.sax.SAXException: Deserializing parameter 'ModifyUnofficialRecordRequestResponse': could not find deserializer for type {http://xml.apache.org/axis/}Void All of my operations that do not return void seem to be working just fine. Is this an Axis bug, or do I need to do something special to "massage" the WSDL or WSDD to get this to work? I am using Axis 1.1. Any help would be greatly appreciated! Regards, Sabrina
