Ask the Expert

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.


    Requires Free Membership to View

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.

This was first published in March 2002

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: