Problem solve Get help with specific problems with your technologies, process and projects.

Is there something missing in my generated WSDL file?

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.

I can't answer this question without seeing the generated WSDL document, but I expect that your WSDL defines the response as an array of TransactionHelper types, and doesn't provide a type definition for this TransactionHelper type. You probably need to create an XML Schema to describe the TransactionHelper type and import that schema into your WSDL file in the types section (map the urn:xml-TransactionHelper namespace to this schema). Then .NET should be able to interpret the response.

Dig Deeper on Topics Archive

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.