2012-01-30 13 views
2

VS2010プロジェクトのSOAPサービスへの参照を追加しました。私はニュースレターのためにユーザーを登録するフォームを持っています。このフォームを動作させるには、SharePointサーバーのweb.configを編集してSOAPバインディングを追加する必要があります。私は、web.configファイルをバイパスし、SOAPサービスを設定するためにはapp.configを使用したりするにはどうすればよいSharePoint 2010 - SOAP Webサービスの使用

Could not find default endpoint element that references contract 'contractAPI.Soap' in the ServiceModel client configuration section.

:私はそれを行うと私のプロジェクトのapp.configをにそれを追加しない場合、サーバーはエラーになりますプログラムでC#を使ってこれを設定しますか?

答えて

2

あなたはこのようなあなたのコードでバインディングを設定することができます。私は以前にその解決策を試してみたが、私はまだ同じエラーを取得し

internal static WServiceSoapClient CreateWebServiceInstance() 
{ 
    BasicHttpBinding binding = new BasicHttpBinding(); 
    binding.SendTimeout = TimeSpan.FromMinutes(1); 
    binding.OpenTimeout = TimeSpan.FromMinutes(1); 
    binding.CloseTimeout = TimeSpan.FromMinutes(1); 
    binding.ReceiveTimeout = TimeSpan.FromMinutes(10); 
    binding.AllowCookies = false; 
    binding.BypassProxyOnLocal = false; 
    binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard; 
    binding.MessageEncoding = WSMessageEncoding.Text; 
    binding.TextEncoding = System.Text.Encoding.UTF8; 
    binding.TransferMode = TransferMode.Buffered; 
    binding.UseDefaultWebProxy = true; 
    return new WServiceSoapClient(binding, new EndpointAddress("http://yourservice.com/service.asmx")); 
} 
+0

。これらの値を手動で定義した後でも、WebPartはweb.configを調べます。 – Collin

+0

Webサービスを使用する私のコードでは、新しいWServiceSoapClient()の代わりにWServiceSoapClient client = WebServiceHelper.CreateWebServiceInstance()を使用し、必要な情報がすべて提供されているため、設定ファイルにヒットしませんバインディングあなたのコードの一部を投稿できますか? – DavidGouge

+0

投稿した内容とともに、動作中のSOAP設定値を追加しました。 'binding.Name = "SoapBinding"; binding.ReaderQuotas.MaxDepth = 32; binding.ReaderQuotas.MaxStringContentLength = 8192; binding.ReaderQuotas.MaxArrayLength = 16384; binding.ReaderQuotas.MaxBytesPerRead = 4096; binding.ReaderQuotas.MaxNameTableCharCount = 16384; binding.MaxBufferSize = 65536; binding.MaxBufferPoolSize = 524288; binding.MaxReceivedMessageSize = 65536; client.ClientCredentials.UserName.UserName = "username"; client.ClientCredentials.UserName.Password = "password"; ' – Collin

関連する問題