代码段如下:
namespace RecruiterWebService
{
/// <summary>
/// Summary description for Service1
/// </summary>
[WebService(Namespace = "http://tempuri.org/") ]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class **Service1** : System.Web.Services.WebService
{
[WebMethod]
public XmlDocument Insert(XmlDocument Jobs)
{ }
[WebMethod]
public XmlDocument Update(XmlDocument Jobs)
{ }
[WebMethod]
public XmlDocument Delete(XmlDocument Jobs)
{ }
[WebMethod]
public XmlDocument Insert(string JobPath)
{ }
[WebMethod]
public XmlDocument Update(string JobPath)
{ }
[WebMethod]
public XmlDocument Delete(string JobPath)
{ }
[WebMethod]
public XmlDocument FeedBack(string UserName, string Password)
{ }
}
}
我的问题是: -
如何从Service1更改WebService的名称,让我们说Job ...我尝试这样做但是在添加WebReference时它正在给出异常。
在这个web服务中,我正在使用方法重载,但是在添加WebReference的时候,它使用我无法理解的消息属性抛出异常和结果。
根据您的建议解决上述两个错误..我遇到了返回类型的问题。我使用XMLDocument作为所有WEBMethods的返回类型,但在将其作为Web引用添加到客户端之后,方法的返回类型变为XMLNode我该如何解决此问题
等待回复人..
答案 0 :(得分:5)
1:如果更改了类名,则还必须更改.asmx(或.svc for WCF)页面,该页面的(文本)标记为Service1
。右键单击asmx和“查看标记” - 它应该类似于:
<%@ WebService Language="C#" CodeBehind="Service1.asmx.cs" Class="WebService1.Service1" %>
更改Class
和CodeBehind
以匹配您当前的设置。
2:ws 1-1不支持重载。您只需添加一个属性即可为SOAP接口上的每个方法指定唯一的名称。但请注意,这将成为您的代理人将看到的方法名称。
例如,您可以更改以下消息之一:
[WebMethod(MessageName = "InsertXml")]
public XmlDocument Insert(XmlDocument Jobs)
{ ... }
现在更新客户端;你(如果你使用wsdl.exe等)可能会有一个InsertXml(...)
方法。