Message = Server无法识别HTTP Header SOAPAction的值:error

时间:2010-08-11 16:36:20

标签: c# web-services soap

HI Guys, 我创建了一个Web服务。我能够使用SOAPUI访问Web服务但是当我尝试通过我的代码调用时,我得到了这个错误。 有什么想法吗?

好的,Web服务代码如下所示:

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[WebServiceBindingAttribute(Name = "SoapBinding", Namespace = "xyz")]
[System.ComponentModel.ToolboxItem(false)]
[WebService(Namespace = "http://Search")]
// 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 Stub : System.Web.Services.WebService
{
    public Stub()
    {
        Log.Debug(this,string.Format("this is just a test message"));
    }


    [WebMethod]
    public Response searchAsset(Request serviceTag)
    {
    }

我的客户代码是:

Search _search = new Search();
_search.url;
_search.n.wcred;
_search.searchAsset(request);

2 个答案:

答案 0 :(得分:7)

这解决了SoapAction的问题:

[SoapDocumentService(RoutingStyle = SoapServiceRoutingStyle.RequestElement)]

SoapServiceRoutingStyle Enumeration SoapAction SOAP消息基于SOAPAction HTTP标头进行路由。 RequestElement SOAP消息基于SOAP消息的XML元素之后的第一个子元素进行路由。

答案 1 :(得分:0)

我听说过的最常见原因是无论实际代码是什么值:

[WebService(Namespace = "http://Search")]

如果此值不是服务器所期望的值,则会报告您报告的错误消息。