进入reference.cs文件

时间:2012-10-25 14:31:11

标签: asp.net

我有一个基于SOAP的Web服务,它带有一个关联的reference.cs文件(不是WCF)。该服务返回无效响应。 reference.cs文件有一个我想介入的testRequest方法。我对服务的控制有限,所以我想用我自己的测试响应覆盖结果[0]行来试试&确定响应无效的确切原因。但是,我无法进入testRequest。为什么不?究竟是什么结果[0]?我尝试使用字符串中的Soap XML自己进行转换,但是我收到一条消息,说我无法从字符串转换为该对象。那么结果[0]是什么,如果它不是一个字符串?

    [System.Web.Services.Protocols.SoapHeaderAttribute("SecurityValue")]
    [System.Web.Services.Protocols.SoapHeaderAttribute("MessageHeaderValue")]
    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
    [return: System.Xml.Serialization.XmlElementAttribute("TestResponse", Namespace="http:/test/Services")]
    public TestResponse testRequest([System.Xml.Serialization.XmlElementAttribute("TestRequest", Namespace="http://Test.com/TestServices")] TestRequestTestRequest1) {
        object[] results = this.Invoke("TestRequest", new object[] {
                    TestRequest1});
        return ((TestResponse)(results[0]));
    }

更新#1 您可以转到Tools =>进入response.cs。选项=>调试=>一般& 取消选中“启用我的代码”。问题是请求到达我的PC,但是在此之后“results”变量为null。调用Invoke。我现在的问题是我怎么能拦截这个电话。这个电话正在制作&插入我自己的回复。我不允许开发人员访问实际服务。也许我需要编写测试服务......

1 个答案:

答案 0 :(得分:1)

我创建了一个刚刚返回硬编码SOAP响应的测试服务。这有助于我通过响应来诊断问题。问题最终成为缺少的命名空间