Ich habe eine Webverweis (WSDL) zu einer Klassenbibliothek hinzugefügt und dann verwiesen diese DLL in einem Timer ausgelöst C# Azure-Funktion (read more about azure functions). Die Klassenbibliothek hat eine Klasse EmployeeService, die eine Methode vom Web-Service aufruft (eine Art Webservice-Wrapper). Wenn ich die class-lib-Methode (GetEmployees) von einer Konsolenanwendung aus aufrufe, authentifiziert sie sich beim Web-Service und gibt das Ergebnis zurück, aber wenn ich die azure-Funktion für den gleichen Code und die creds ausführe, gibt es 401. Nicht sicher, was ich hier falsch mache:Aufruf einer externen Webservice-Methode von Azure-Funktion 401 zurück, aber der gleiche Code funktioniert in einer Konsolenanwendung
#r "MyConsult.Service.dll"
#r "Newtonsoft.Json.dll"
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;
using Newtonsoft.Json;
using System.Net;
using MyConsult.Service.Service;
public static void Run(TimerInfo myTimer, TraceWriter log)
{
log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
try
{
EmployeeService _empService = new EmployeeService();
var emps = _empService.GetEmployees();
int count = emps.Where(x => !string.IsNullOrEmpty(x.Email)).Select(x => x.Email).Distinct().Count();
log.Info($"employee count : {count}");
}
catch (Exception ex)
{
log.Info($"Exception Message: {ex.Message}");
log.Info($"Exception Stack Trace: { ex.StackTrace}");
}
}
Ich habe das gleiche Problem, aber es funktioniert nach dem Warten für einige Minuten (oder umstellen?). so seltsam. aber es funktioniert jetzt. – Paul