所以我制作WebServices比较新,所以请耐心等待。
我在服务器上创建了一个带有简单helloword webmethod的Webservice,然后将其部署在IIS 7.5中。
致电' 。 asmx '在我的浏览器中的文件服务器上,我可以看到所有的web方法,我可以调用它们。
我制作了一个客户端应用程序,我通过"添加了我的web服务。添加数据源"在Visual Studio 2013中,它看到我的所有webmethod都没问题。
但是当我尝试在代码中调用我的web服务并尝试调用我的webmethod时,它给了我一个例外。
Additional information: The request failed with HTTP status 503: Service Unavailable. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at WebserviceConnection.WebReference.WebService1.HelloWorld() in c:\Users\Daniel\Documents\Visual Studio 2013\Projects\WebserviceConnection\WebserviceConnection\Web References\WebReference\Reference.cs:line 78
at WebserviceConnection.Form1..ctor() in c:\Users\Daniel\Documents\Visual Studio 2013\Projects\WebserviceConnection\WebserviceConnection\Form1.cs:line 21
当我在运行webservice的服务器上创建相同的应用程序时,根本没有任何问题。
所以我已经尝试了以下事项:
- 我检查IIS中的应用程序池,是否已关闭。
- 检查日志,我找不到任何明确的原因。
我可以在我想要的任何计算机上通过浏览器调用我的web服务,它只在我的C#应用程序中调用webmethod时给我这个错误。
客户C#代码:
namespace ConsumeWebserviceTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
WebService1 te = new WebService1();
label1.Text = te.HelloWorld();
}
}
}
Webservice代码:
namespace WebServiceTests
{
/// <summary>
/// Summary description for WebService1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}
}
我在.NET Framework 4.0上运行,所以我想知道为什么它会给我这个例外。
答案 0 :(得分:0)
基本上503
表示
503服务不可用
The server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state.
我的建议:请检查服务器名称及其运行与否
了解更多Http状态Refer