如何从asp.net mvc应用程序中使用webservices

时间:2011-06-08 09:52:35

标签: asp.net-mvc web-services

有外部网络服务。

我可以从我的winform应用程序中调用它,但我无法从我的asp.net mvc Web应用程序调用它。

错误信息如下:

System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at http://ihexds.nist.gov:9080/tf6/services/xdsrepositoryb that could accept the message. This is often caused by an incorrect address or SOAP action.

有没有什么可以配置我的mvc Web应用程序来使用它?

编辑:

以下是我调用Web服务的代码

WCF.Message msgInput, msgOutput;
msgInput = WCF.Message.CreateMessage(MESSAGE_VERSION, PROVIDEANDREGISTERDOCUMENTSETB_WSAACTION, request);
msgOutput = WCF.Message.CreateMessage(WCF.MessageVersion.Soap12WSAddressing10, "");

string endpointName = GetRepositoryEndPointName();
XDSRepository.XDSRepositoryClient client = new XDSRepository.XDSRepositoryClient(endpointName);

msgOutput = client.ProvideAndRegisterDocumentSet(msgInput);

1 个答案:

答案 0 :(得分:1)

从您的评论来看,我认为您的问题与代理服务器有关。我认为您正在使用公司内部的代理服务器。您必须在web.config文件中指定您希望dotnet代码使用您登录的凭据。将其添加到您的web.config并再试一次:

<system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true" >
    </defaultProxy>
</system.net>

你也可能正在使用.pac script。在这种情况下,您必须明确指定代理服务器,如下所示:

<system.net>
    <defaultProxy useDefaultCredentials="true">
        <proxy proxyaddress="http://proxyserver:proxyport"/>
    </defaultProxy>
</system.net>