2012-04-13 22 views
1

WebサービスにVS2010/.NET 4ソリューションのプロキシを追加しました。私のマシンはWindows 7 OSです。私はSOここにsimlarタイプの質問を発見したデフォルトのエンドポイント要素が見つかりません.NET 4.0

Could not find endpoint element with name 'FulfilmentServicesSoap' and contract 'FulfimentServiceSoap.FulfilmentServicesSoap' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this name could be found in the client element.

:クライアント.NETを構築すると、このエラーがスローされた場合

Could not find default endpoint element

は、しかし、このを読んと回答の一部を試みるが働いていません私のために。

契約= "IFulfimentServiceSoap" 名前= "FulfilmentServicesSoap" />

契約= "FulfimentServiceSoap.FulfilmentServicesSoap" 名前= "FulfilmentServicesSoap:私は、app.configファイルを含めた回数を編集しました"/>

契約=" MYFullNamespace.FulfimentServiceSoap.FulfilmentServicesSoap」名前= "FulfilmentServicesSoap" />

しかし、いずれの場合でも、Webサービスを実行すると、設定ファイルを編集したときでも、イベントビューアに 'FulfimentServiceSoap.FulfilmentServicesSoap'という契約が表示されます。 app.configファイルの変更を拾うために何か他に必要なことはありますか?

EDIT - クライアントが作成されたコード -

<system.serviceModel> 
     <bindings> 
      <basicHttpBinding> 
       <binding name="FulfilmentServicesSoap" closeTimeout="00:01:00" 
        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" 
        allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
        useDefaultWebProxy="true"> 
        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
         maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
        <security mode="None"> 
         <transport clientCredentialType="None" proxyCredentialType="None" 
          realm="" /> 
         <message clientCredentialType="UserName" algorithmSuite="Default" /> 
        </security> 
       </binding> 
      </basicHttpBinding> 
     </bindings> 
     <client> 
      <endpoint address="http://localhost/WLR3.Web.services/FulfilmentServices.asmx" 
       binding="basicHttpBinding" bindingConfiguration="FulfilmentServicesSoap" 
       contract="FulfimentServiceSoap.FulfilmentServicesSoap"name="FulfilmentServicesSoap" /> 
     </client> 
    </system.serviceModel> 

EDITをApp.configファイルからのバインディング情報を追加しました。

FulfimentServiceSoap.FulfilmentServicesSoap fulfilmentServices = new FulfimentServiceSoap.FulfilmentServicesSoapClient("FulfilmentServicesSoap"); 
+0

さらに詳しい情報(設定)を投稿しないと、手助けが困難です。 – Aliostad

+0

どのようなタイプの設定ですか? –

+0

あなたのapp.config、web.config ...バインディング設定が必要です。 – Aliostad

答えて

1

これは私にとってはとにかく分かりましたが、それは他の誰にも役立ちます。 DLLが作成され、アプリケーション/ライブラリフォルダにコピーされました。 (私は作成されたapp.configファイルをコピーしませんでした)。私がクライアントを作成するコードでは、バインディングとエンドポイントアドレスの詳細をコード化して、SoapClientコンストラクタに渡しました。だから、そのための私のコードは以下のように見えた:あなたは、このようなSharePoint機能として、web.configファイルまたはapp.configをを使用していないプロジェクトを展開する場合

BasicHttpBinding binding = new BasicHttpBinding(); 
      EndpointAddress remoteAddress = new EndpointAddress("http://localhost/WLR3.Web.services/FulfilmentServices.asmx"); 
      binding.Name = "FulfilmentServicesSoap"; 
      binding.AllowCookies = false; 

      FulfimentServiceSoap.FulfilmentServicesSoap fulfilmentServices = new FulfimentServiceSoap.FulfilmentServicesSoapClient(binding, remoteAddress); 
2

を、あなたのコードブロックは、ウェブやアプリの設定を読み取ることができないと以下の例外が発生する可能性があります。

WebまたはAppの設定エントリを操作するためにWebサービスを呼び出す前に、以下のコードブロックを使用することができます。

BasicHttpBinding httpBinding = new BasicHttpBinding(); 
httpBinding.Name = "DMS_WSSoap"; 
httpBinding.CloseTimeout = new TimeSpan(0, 1, 0); 
httpBinding.OpenTimeout = new TimeSpan(0, 1, 0); 
httpBinding.ReceiveTimeout = new TimeSpan(0, 10, 0); 
httpBinding.SendTimeout = new TimeSpan(0, 1, 0); 
httpBinding.AllowCookies = false; 
httpBinding.BypassProxyOnLocal = false; 
httpBinding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard; 
httpBinding.MaxBufferSize = 65536; 
httpBinding.MaxBufferPoolSize = 524288; 
httpBinding.MaxReceivedMessageSize = 65536; 
httpBinding.MessageEncoding = WSMessageEncoding.Text; 
httpBinding.TextEncoding = Encoding.UTF8; 
httpBinding.TransferMode = TransferMode.Buffered; 
httpBinding.UseDefaultWebProxy = true; 

httpBinding.ReaderQuotas = new System.Xml.XmlDictionaryReaderQuotas(); 
httpBinding.ReaderQuotas.MaxDepth = 32; 
httpBinding.ReaderQuotas.MaxStringContentLength = 8192; 
httpBinding.ReaderQuotas.MaxArrayLength = 16384; 
httpBinding.ReaderQuotas.MaxBytesPerRead = 4096; 
httpBinding.ReaderQuotas.MaxNameTableCharCount =16384; 

httpBinding.Security.Mode = BasicHttpSecurityMode.None; 
httpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None; 
httpBinding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.None; 
httpBinding.Security.Transport.Realm = ""; 
httpBinding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName; 

//The url of web services. 
EndpointAddress endpoint = new EndpointAddress("http://localhost/_layouts/DMS_WS/DMS_WS.asmx"); 

//one of the example web service which has been referenced in visual studio IDE. 
LibraryWatcherWebService.DMS_WSSoapClient lservice = new LibraryWatcherWebService.DMS_WSSoapClient(httpBinding, endpoint); 
関連する問題