I'm using Visual Studio 2008 and I'm trying to add a web reference. After putting in the URL the left part of the Add Web Reference dialog shows the methods in the webservice, but it won't let me add the reference because on the right I get back an Error message that says:
HttpListeningConnectorUtility.initializeISRequest(). Invalid URL path. Path should be end with either of these values: {.xsd|.wsdl|.wsil}
The URL I am using is
http:///PSIGW/PeopleSoftServiceListeningConnector/CI_UMPH_PROJECT_GENERAL.1.wsdl
Which clearly ends in .wsdl. When I put the URL in Firefox I get back the .wsdl XML and it looks fine and there is no trace of an error message. What is Visual Studio doing wrong and how can I resolve this?
EDIT
After reviewing the request and response in Fiddler I have de开发者_运维知识库termined that VS is actually requesting
http:///PSIGW/PeopleSoftServiceListeningConnector/CI_UMPH_PROJECT_GENERAL.1.wsdl/?metadata
Which the service chokes on since it has no extension on metadata. I can replicate this by using that URL in firefox manually. What is VS trying to do here?
At a guess I would think that VisualStudio is seeing the extension as .1.wsdl.
You could try encoding the first '.' I think the value is %2E. This probably won't work but it's worth trying.
Other than that, grab the WSDL, save it and point VS at a local copy of the WSDL file, or use wsdl.exe to parse the local copy of the WSDL.
You could also try using wsdl.exe agains the URL and see if it will read it OK
精彩评论