我的代理Web服务缺少真正的Web服务中的一种方法吗?

时间:2016-07-08 18:16:18

标签: web-services proxy wsdl

我可以浏览我的代理网络服务和我的实际网络服务的网址,我在代理服务和实际帐户服务之间缺少一种方法吗? 我已经尝试了很多东西,无法让我的代理显示相同的方法。我不知道如何生成映射方法的wsdl文件,我甚至可以看到该文件缺少该方法,该文件是我在TFS开始工作的第一天下载建立我的网站的文件。

我正在尝试手动更改生成的文件,但它无法正常工作。当我在我的计算机上查找svcutil或wsdl时,它什么都没有。我需要能够运行这些实用程序的特殊计算机吗?

  '/'应用程序中的服务器错误。   System.Web.Services.Protocols.SoapException:服务器无法识别HTTP标头SOAPAction的值:http://account.hse.org/GetUserNameByMembershipId。     在System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()     在System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage消息)     在System.Web.Services.Protocols.SoapServerProtocol.Initialize()     at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type,HttpContext context,HttpRequest request,HttpResponse response,Boolean& abortProcessing)   描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。

异常详细信息:System.Web.Services.Protocols.SoapException:System.Web.Services.Protocols.SoapException:Server无法识别HTTP标头SOAPAction的值:http://account.hse.org/GetUserNameByMembershipId。   在System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()   在System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage消息)   在System.Web.Services.Protocols.SoapServerProtocol.Initialize()   在System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type,HttpContext context,HttpRequest request,HttpResponse response,Boolean& abortProcessing)

来源错误:

第197行:公共字符串GetUserNameByMembershipId(int membershipID) 第198行:{ 第199行:object [] results = this.Invoke(“GetUserNameByMembershipId”,new object [] { 第200行:membershipID}); 第201行:return((string)(results [0]));

源文件:c:\ TFS \ IT \ Web \ HseStore.org \ HseStore \ Hse.Sso.Client \ Proxies \ AuthServiceProxy.cs行:199

堆栈追踪:

[SoapException:System.Web.Services.Protocols.SoapException:Server无法识别HTTP Header SOAPAction的值:http://account.hse.org/GetUserNameByMembershipId。    在System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()    在System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage消息)    在System.Web.Services.Protocols.SoapServerProtocol.Initialize()    在System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type,HttpContext context,HttpRequest request,HttpResponse response,Boolean& abortProcessing)]    System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage消息,WebResponse响应,Stream responseStream,Boolean asyncCall)+503338    System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object []参数)+215    cf中的Vfw.Sso.Client.Proxies.AuthServiceProxy.GetUserNameByMembershipId(Int32 membershipID)c:\ TFS \ IT \ Web \ HseStore.org \ HseStore \ Hse.Sso.Client \ Proxies \ AuthServiceProxy.cs:199    cf中的Vfw.Sso.Client.Helpers.AuthServiceHelper.GetUserNameByMembershipId(Int32 membershipID)c:\ TFS \ IT \ Web \ HseStore.org \ HseStore \ Hse.Sso.Client \ Helpers \ AuthServiceHelper.cs:103    OMS.CreateAccount.btnCreateAccount_Click(Object sender,EventArgs e)位于c:\ TFS \ IT \ Web \ MAIN \ OMSDomain \ OMS \ CreateAccount.aspx.cs:63    System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e)+115    System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument)+124    System.Web.UI.WebControls.ImageButton.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)+35    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+1724

1 个答案:

答案 0 :(得分:0)

你正在使用Visual Studio吗? 重新生成代理的一种简单方法是删除服务引用并重新添加它。

如果您需要手动生成代理,那么您需要svcutil,此链接会告诉您如何获取代理:https://msdn.microsoft.com/en-us/library/aa347733%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

简而言之,您需要Windows Sdk,然后您可以在此路径中找到svcutil:C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0 \ Bin