我正在尝试调用一个SOAP Web服务:
http://api.affiliatewindow.com/v4/AffiliateService?wsdl
然而,通过使用标准的Web服务对话框添加服务引用后,生成的类中没有任何操作可用-它是空的:
我尝试了在“添加引用”对话框上更改各种组合的选项。
是否有另一种方式来添加此类型的引用?(注意:为了实际调用操作,服务需要一个用户名/密码头-也许我需要在生成类时包含它?如果是这样-如何操作?)
我正在尝试调用一个SOAP Web服务:
http://api.affiliatewindow.com/v4/AffiliateService?wsdl
然而,通过使用标准的Web服务对话框添加服务引用后,生成的类中没有任何操作可用-它是空的:
我尝试了在“添加引用”对话框上更改各种组合的选项。
是否有另一种方式来添加此类型的引用?(注意:为了实际调用操作,服务需要一个用户名/密码头-也许我需要在生成类时包含它?如果是这样-如何操作?)
我喜欢使用命名空间选项,这样就不会与我当前的解决方案中的任何对象发生冲突。 然后我可以将生成的代码文件添加到您的解决方案中。我已经附上了解决方案中对象浏览器的截图: 现在,您可以按照您的意愿实例化该服务:wsdl http://api.affiliatewindow.com/v4/AffiliateService?wsdl /namespace:AffiliateWindow
// I don't know anything about Affiliate Window - but I am assuming you would use it
// like the following code below
AffiliateWindow.UserAuthentication auth = new AffiliateWindow.UserAuthentication();
auth.sType = AffiliateWindow.UserType.affiliate;
auth.sPassword = "123456";
AffiliateWindow.ApiService svc = new AffiliateWindow.ApiService();
svc.UserAuthenticationValue = auth;
我发现一些SOAP参考资料(如SalesForce)必须作为Web引用而不是常规服务引用添加。
当您右键单击“引用”,选择“添加服务引用”,然后单击底部的“高级”按钮,再单击底部的“添加Web引用...”按钮时。
如果输入有效的端点URL,则应在对话框右侧的列表中显示可用于引用的Web服务。
svcutil
和wsdl
命令行工具 - 以稍微不同的方式容忍怪癖。在这种情况下,看起来wsdl.exe
可以处理它,如下面Black Frog的答案所述。 - LukeH