2017-01-23 6 views
0

SSISスクリプトタスク内でSOAPベースのWebサービスを呼び出しています。 Webサービスでは、ユーザー名、パスワード、およびGUIDが必要です。以前はSSISスクリプトタスクからWebサービスを呼び出す前に、コンソールアプリケーションからWebサービスを呼び出して成功しました。 これは私のCシャープコードです:SSISスクリプトタスクSOAPサービスWebサービスコールエラー

public void Main() 
     { 
      // TODO: Add your code here 

         // TODO: Add your code here 
      MessageBox.Show((string)Dts.Variables["ServiceDateStart"].Value); 

      string userName = "xxx"; 
      string password = "xxx"; 
      string licenceID = "xxx"; 
      ServiceReference.AuthenticationHeader a = new ServiceReference.AuthenticationHeader(); 
      a.LicenceID = new Guid(licenceID); 
      a.UserName = userName; 
      a.Password = password; 
      ServiceReference.CompanyAccountXmlServiceSoapClient service = new ServiceReference.CompanyAccountXmlServiceSoapClient(); 

      string result; 
      long numberOfResults; 
      int counter1 = 0; 
      int counter2 = 19; 



      do 
      { 



       result = service.GetCompanyAccountUpdated(a, (string)Dts.Variables["ServiceDateStart"].Value, (string)Dts.Variables["ServiceDateEnd"].Value, counter1, counter2); 
       //result = service.GetCompanyAccountUpdated(a, "20150101", "20150107", counter1, counter2); 
       counter1 = counter1 + 20; 
       counter2 = counter2 + 20; 



       using (System.IO.StreamWriter file = 
     new System.IO.StreamWriter(@"C:\Users\jkrneta\Documents\GetCompanyAccountUpdated.txt", true)) 
      { 


       file.WriteLine(result); 


      } 

      } while (!result.Equals("<CompanyAccountDataSet />")); 


      Dts.TaskResult = (int)ScriptResults.Success; 
     } 

私は、Webサービスを呼び出すところのコードが行に失敗します。

ServiceReference.CompanyAccountXmlServiceSoapClient service = new ServiceReference.CompanyAccountXmlServiceSoapClient(); 

これは私のapp.configファイルです:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel> 
     <bindings> 
      <basicHttpBinding> 
       <binding name="CompanyAccountXmlServiceSoap"> 
        <security mode="Transport" /> 
       </binding> 
       <binding name="CompanyAccountXmlServiceSoap1" /> 
      </basicHttpBinding> 
     </bindings> 
     <client> 
      <endpoint address="https://webservices.nbs.rs/CommunicationOfficeService1_0/CompanyAccountXmlService.asmx" 
       binding="basicHttpBinding" bindingConfiguration="CompanyAccountXmlServiceSoap" 
       contract="ServiceReference.CompanyAccountXmlServiceSoap" name="CompanyAccountXmlServiceSoap" /> 
     </client> 
    </system.serviceModel> 
</configuration> 

デバッグモードでサービスを実行するとエラーが発生します。

ServiceModel クライアント構成セクションのコントラクト 'ServiceReference.CompanyAccountXmlServiceSoap'を参照する既定のエンドポイント要素を見つけることができませんでした。これは、アプリケーションにコンフィグレーション ファイルが見つかりませんでした。または、この契約に一致するエンドポイント要素 がクライアント要素内に見つかりませんでした。

スクリプトワークからSSIS Webサービスを作成するためには何が必要ですか?よろしくです。 よろしくお願いします。私はエンドポイントアドレスを設定するか経験した私自身で

:ちょうどあなたのアイデアを与える

Reload the service reference of your project. 

ServiceReference.CompanyAccountXmlServiceSoapClient service = 
new ServiceReference.CompanyAccountXmlServiceSoapClient("CompanyAccountXmlServiceSoap"); 

その他のオプションは次のとおりです。

答えて

0

てみてください、この方法を使用するには私のコードは次のようになります:

service.Endpoint.Address = new System.ServiceModel.EndpointAddress("https://webservices.nbs.rs/CommunicationOfficeService1_0/CompanyAccountXmlService.asmx"); 
+0

こんにちは、両方の提案を試してみましたが、同じエラーがありました...私は手動でWebサービスを設定しようとします。 –

関連する問題