I have a stateless enterprise Javabean exposed as a Web service running on Weblogic server 6.0, and this is being accessed by a Visual Basic .NET client. I'm using Apache SOAP 2.2. One of the methods of the service returns an array of a Java class called "TransactionHelper". This TransactionHelper class contains 4 properties, one "String", one "double" and two "booleans". This TransactionHelper class conforms to the criteria for a "javabean" so I have mapped the class to the "beanSerializer" included in Apache SOAP.
In the "Type Mappings" section of the Apache SOAP admin, I have given the TransactionHelper class a "Namespace URI" of "urn:xml-TransactionHelper". I have generated a "wsdl" file using IBM's wstk 3.0. I then copied this file to a directory on the client machine, and ran Microsofts "wsdl.exe" tool, to generate a proxy class for the Web client. The Web client then uses the proxy class to communicate with the Web service. The problem is, that when I run it and call the method in question, I get the following error message: "System.InvalidOperationException: The specified type was not recognized: name='TransactionHelper', namespace='urn:xml-TransactionHelper', at <return xmlns=''>."
Is there possibly something missing in my generated "wsdl" file? Any help would be appreciated.
This was first published in March 2002