2017-01-23 4 views
0

Я вызываю веб-службу на основе мыла внутри задачи сценария SSIS. Для работы веб-службы требуется имя пользователя, пароль и руководство. До вызова веб-службы из задачи сценария SSIS я с успехом назвал веб-службу из консольного приложения. Это мой диез код:Ошибка вызова сценария службы SSIS

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; 
     } 

код не будет работать на линии, где я называю веб-службы:

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> 

ошибка, которую я получаю при запуске службы в режиме отладки:

Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт «ServiceReference.CompanyAccountXmlServiceSoap» в разделе конфигурации клиента ServiceModel . Возможно, это связано с тем, что для вашего приложения не найдено ни одного файла конфигурации , или потому, что никакой элемент конечной точки , соответствующий этому контракту, не найден в клиентском элементе.

Что необходимо для работы моего веб-сервиса SSIS из сценария? С уважением.

ответ

0

Попробуйте использовать этот путь:

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

Другой вариант:

Reload the service reference of your project. 

Просто дать Вам идею:

В моей испытал я настройке адреса конечной точки мой код выглядит следующим образом:

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

Привет, я попытался с обоими предложениями, но получил те же ошибки ... Я попытаюсь вручную установить веб-службу, посмотрим, работает ли это ... –

Смежные вопросы