Reputation: 4724
I'm trying to add a web reference to an external Axis - generated web service to a Visual Studio 2008 solution. The url I received points to a WSDL that I can successfully access through a browser, and I see all the WService details. The Axis version used was 1.4.
But if I run wsdl.exe or when I add the reference in VS2008 I can see the methods list on the left, but I get an error stating that:
The document at the url http://............?wsdl was not recognized as a known document type.
The error message from each known type may help you fix the problem:
And I cannot proceed. I saw other posts here on SO but all of them are referring to a situation in which the web reference is already added.
Many thanks in advance!
A.
EDIT: Thanks guys, actually I managed to solve the issue "by hand" as in some way was suggested by dovholuk: I capured the wsdl, saved it loccally in file system, then I modified it by hand, until wsdl.exe was able to generate the classes. Then I added the class in the project, and managed to call the web service.
Ciao Andrea
Upvotes: 3
Views: 1525
Reputation: 969
This is a common problem that I experience when using axis 1.4. I personally always code my wsdl and xsd by hand instead of using the emitting capability for this - and other reasons...
If you open your ?wsdl and start parsing through I would bet that you have some enumeration in there which is "empty". Something like:
<xs:simpleType name="MyType">
</xs:simpleType>
i'm really just guessing here because you didn't post the wsdl (not sure if you can?) but I get this exact behavior when I write my wsdl/xsd and have restrictions on simple types... such as:
<xs:simpleType name="IpAddress">
<xs:restriction base="xs:string">
<xs:pattern value="\d*"> (note this is not 'correct' i'm just 'for instancing')
</xs:restriction>
</xs:simpleType>
( don't kill me if that's invalid xsd - i'm just going from memory... :) )
Axis will suck this in, create objects but when it gets emitting using ?wsdl it comes out 'invalid'....
So my advice is to comb through that wsdl - particularly the types section for 'incomplete' schema definitions... Take them out of your java and 'try again' until it works in c#....
Don't know if that helps or not - but if you need any other ideas, post back...
Upvotes: 3