Vb.net Web服务-无端点侦听

Vb.net Web服务-无端点侦听,vb.net,wcf,web-services,Vb.net,Wcf,Web Services,我无法让它正常运行。下面是抛出的异常(EndPointNotFound)和我收到的带有堆栈跟踪的错误消息 我已经做了所有显而易见的事情(我想!)检查了端点URI的匹配情况,检查了服务是否正在实际运行,并且我可以从我的机器上点击它 很高兴张贴代码,如果你让我知道你需要帮助 非常感谢您的帮助 “当时没有端点监听 URL/Service.svc,它可以接受 消息。这通常是由 地址或SOAP操作不正确。请参阅 InnerException(如果存在)了解更多信息 细节。” 远程服务器返回错误:(407)

我无法让它正常运行。下面是抛出的异常(EndPointNotFound)和我收到的带有堆栈跟踪的错误消息

我已经做了所有显而易见的事情(我想!)检查了端点URI的匹配情况,检查了服务是否正在实际运行,并且我可以从我的机器上点击它

很高兴张贴代码,如果你让我知道你需要帮助

非常感谢您的帮助

“当时没有端点监听 URL/Service.svc,它可以接受 消息。这通常是由 地址或SOAP操作不正确。请参阅 InnerException(如果存在)了解更多信息 细节。”


远程服务器返回错误:(407)需要代理身份验证。 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源


异常详细信息:System.Net.WebException:远程服务器返回错误:(407)需要代理身份验证

源错误:

第1140行:
第1141行:公共函数GetMember(作为ArdbegWeb.ArdbegMember的ByVal ArdbegMember1)作为ArdbegWeb.ArdbegMember实现IArdbegWeb.GetMember 第1142行:返回MyBase.Channel.GetMember(ArdbegMember1) 第1143行:结束函数 第1144行:

源文件:C:\Documents and Settings\amayberry\My Documents\Visual Studio 2008\Projects\xpertformstest\ardbeg\ardbeg\ArdbegWeb.vb行:1142

堆栈跟踪:


[WebException:远程服务器返回错误:(407)需要代理身份验证。] System.Net.HttpWebRequest.GetRequestStream(TransportContext和context)+1868309 System.Net.HttpWebRequest.GetRequestStream()+13 System.ServiceModel.Channel.WebRequestHttpOutput.GetOutputStream()+68

[EndpointNotFoundException:在侦听时没有可以接受消息的终结点。这通常是由不正确的地址或SOAP操作引起的。有关详细信息,请参阅InnerException(如果存在)。] System.Runtime.Remoting.proxy.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg)+7596735 System.Runtime.Remoting.proxy.RealProxy.PrivateInvoke(MessageData&msgData,Int32类型)+275 ArdbegWeb.GetMember(ArdbegMember ArdbegMember1)+0 C:\Documents and Settings\amayberry\My Documents\Visual Studio 2008\Projects\xpertformstest\ardbeg\Ardbege\ArdbegWeb.vb:1142中的Ardbege.ArdbegWebClient.GetMember(ArdbegMember ArdbegMember1) ardbeg.\u Default.Button1\u单击C:\Documents and Settings\amayberry\My Documents\Visual Studio 2008\Projects\xpertformstest\ardbeg\ardbeg\Default.aspx.vb:40中的1(对象发送方,事件参数e) System.Web.UI.WebControls.Button.OnClick(EventArgs e)+111 System.Web.UI.WebControl.Button.RaisePostBackEvent(String eventArgument)+110 System.Web.UI.WebControl.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)+10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,String eventArgument)+13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)+36 System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+1565

编辑

我认为这一定是我的应用程序如何实际访问web服务的问题——尽管我的浏览器可以访问web服务(由于整个业务的访问限制,我必须使用非默认代理来执行此操作),但我认为我编译的应用程序不会自动使用此功能。是否有任何明显的方法来检查,如果存在问题,我将如何强制它使用此方法

编辑

我的主页后面的代码:

Dim myBinding As New WSHttpBinding()


myBinding.Security.Mode = SecurityMode.Transport
myBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate

Dim ea As New EndpointAddress("https://URL/service.svc")

Dim cc As New ArdbegWebClient(myBinding, ea)
cc.ClientCredentials.ClientCertificate.SetCertificate( _
StoreLocation.CurrentUser, StoreName.My, X509FindType.FindBySubjectName, "CERTIFICATE")
Dim abMem As New ArdbegMember
Dim retMem As New ArdbegMember

abMem.MemberID = TextBox1.Text

Try
    cc.Open()
    retMem = cc.GetMember(abMem)
    MesgBox(retMem.Surname)
    cc.Close()

Catch cex As CommunicationException
    MesgBox("CommEX - " & cex.Message)
    cc.Abort()
Catch tex As TimeoutException
    MesgBox("TimeEX - " & tex.Message)
    cc.Abort()
Finally
    MesgBox("Closed the Client")
End Try

目前我所要做的就是输入一个客户id号,并通过Web服务返回他们的姓氏,以便我知道它正在工作。

我已经解决了问题,出于某种原因更改了Internet Explorer中的代理设置(尽管我根本不使用它)为了匹配我知道的设置允许我点击web服务似乎允许我的代码点击它


我不知道如何或为什么,因为我的代码只在FF中运行,但这似乎允许它工作。

“远程服务器返回一个错误:(407)需要代理身份验证。”您是否通过HTTP代理连接到internet?只是一个普通的前向web代理。有各种限制(限制公司其他成员的访问权限),因此我使用的是不同的代理服务器(仍然是公司内部的),没有这些限制。信息非常清楚:您和目标之间的代理需要身份验证。你确定你的代码正在使用另一个代理吗?这也是我得出的结论(请参阅我问题底部的编辑)。既然是这样,问题是如何强制我的代码使用这个代理?你能发布一些关于你如何连接到服务的代码吗?