Originally posted by John Atkeson:
Debugging/stepping through, it throws this error:
{http://localhost:28451/Stenographer/Service.asmx/}HelloWorld is not a valid service. Valid services are: {http://tempuri.org/}Service
The WSDL address is right, it's tried and tested, and HelloWorld is running as the service. What else might I be doing wrong?
Good grief, it seems like the
http://tempuri.org/ namespace was allowed to leak into the published WSDL (that namespace identifier is modifiable in Visual Studio as this is obviously a .NET web service) - seriously, removing
http://tempuri.org/ needs to be a coding standard in every organization that dabbles with web services. NetBeans uses wsimport under the which allows you to specify a "p" or "package" option which forces the generated artifacts into a package of your choosing (instead of the default "reverse namespace identifier" package name).
I can't be of much help without looking at the WSDL. However service names are usually created in the targetnamesspace of the WSDL which seems to be "http://tempuri.org/", not "http://localhost:28451/Stenographer/Service.asmx/" as you specified (that is simply the endpoint address). Furthermore the error seems to suggest that the name in the WSDL {http://schemas.xmlsoap.org/wsdl/}service element isn't "HelloWorld" but "Service". If I'm correct that code should be:
Note that I also used the specialized org.tempuri.Service version which should allow you to access the a specialized Port object that will ultimately have the web method that you are after.