Wcf “EndpointDispatcher上的AddressFilter不匹配”

Wcf “EndpointDispatcher上的AddressFilter不匹配”,wcf,soap,vbscript,asp-classic,Wcf,Soap,Vbscript,Asp Classic,我试图通过使用SOAP1.2消息连接到一些WCFWeb服务来扩展一个经典的ASP站点。因此,在客户端,没有绑定,我只是使用XMLHTTP 由于EndpointDispatcher中的AddressFilter不匹配,我收到了无法在接收方处理带有To的消息的可怕消息。错误 我的客户机正在使用自签名SSL证书,并且服务端也设置了SSL证书 此问题的大多数解决方案都涉及在客户端上配置ServiceBehavior以关闭地址筛选器,但这在本例中不适用。有什么帮助吗 代码 我用VBScript创建了一个类

我试图通过使用SOAP1.2消息连接到一些WCFWeb服务来扩展一个经典的ASP站点。因此,在客户端,没有绑定,我只是使用XMLHTTP

由于EndpointDispatcher中的AddressFilter不匹配,我收到了无法在接收方处理带有To的消息的可怕消息。错误

我的客户机正在使用自签名SSL证书,并且服务端也设置了SSL证书

此问题的大多数解决方案都涉及在客户端上配置ServiceBehavior以关闭地址筛选器,但这在本例中不适用。有什么帮助吗

代码

我用VBScript创建了一个类

Class SOAPRequest 
    Private objXMLHttp, webServiceURL, contentType
    Public servicePath, XmlNS, action, SOAPRequest, SOAPResponse 

    Private Sub Class_Initialize 
        set objXMLHttp = Server.CreateObject("MSXML2.XMLHTTP")
        webServiceURL =  Application("Web Service URL")
        contentType =    "application/soap+xml;charset=UTF-8" 
    End Sub 

    Public Function SendRequest 
        'Open HTTP connection  
        objXMLHttp.Open "POST", webServiceURL & "/wcf/" & servicePath, False 

        'Setting request headers  
        objXMLHttp.setRequestHeader "Content-Type", contentType 
        objXMLHttp.setRequestHeader "SOAPAction", webServiceURL & "/wcf/" & servicePath & "?wsdl"

        dim SOAPEnvelopeStart, SOAPEnvelopeEnd
        SOAPEnvelopeStart = "<?xml version='1.0' encoding='utf-8'?><soap:Envelope xmlns:soap='http://www.w3.org/2003/05/soap-envelope' xmlns:urn='" & XmlNS & "'><soap:Header/><soap:Body>"
        SOAPEnvelopeEnd = "</soap:Body></soap:Envelope>"            

        'Send SOAP request 
        objXMLHttp.Send SOAPEnvelopeStart & SOAPRequest & SOAPEnvelopeEnd

        'Get XML Response 
        SOAPResponse = objXMLHttp.ResponseText 
    End Function 

    Public Function Close 
        Set objXMLHttp = Nothing 
    End Function 
End Class 
然后我这样称呼它

set objSOAP = New SOAPRequest

'set up the request
with objSOAP
    .servicePath    = "myservice.svc"       
    .XmlNS          = "urn:MyNamespace"
    .action         = "Action"
    .SOAPRequest    = "<urn:GetMyData></urn:GetMyData>"
end with

objSOAP.SendRequest

我的建议是编写一个.NET客户端来调用该服务,然后使该客户端COM可见。经典的ASP可以简单地调用COM对象并感到高兴。而且您不必手工构建XML。@John谢谢,我知道您在那里做了什么我甚至可以自动生成那些.NET客户端。是的,您可以自动生成它们。COM可见性所需的属性可能放置在另一个类部件的分部类中。