Я пытаюсь получить данные из веб-службы, используя простое консольное приложение, однако получаю эту ошибку:
SoapException не было обработано
Ошибка - отсутствует информация заголовка.
Я уже пробовал следующие статьи:
- https://www.codeproject.com/Questions/709641/ERROR-SOAP-Header-Missing
- https://msdn.microsoft.com/en-us/library/y4t36w86(v=vs.80).aspx
Но мне не разрешено работать на стороне WebServer, поэтому я мало что могу сделать.
Код:
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
myWS.WServer WebService = new myWS.WServer();
string[] myMethods = WebService.GetMethods();
}
}
}
Следует за полным сообщением об ошибке:
System.Web.Services.Protocols.SoapException не было обработано
HResult = -2146233087 Сообщение = Ошибка - отсутствует информация заголовка.
Source = System.Web.Services Actor = Unknown Error Lang = ""
Node = Unknown Error Role = "" StackTrace: em System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse (сообщение SoapClientMessage, ответ WebResponse, поток responseStream, логический asyncCall) em System.Web.Services.Protocols.SoapHttpClientProtocol.Name (Object ] параметры) em ConsoleApplication3.myWS.WServer.GetMethods () на c: \ VS \ ConsoleApplication3 \ ConsoleApplication3 \ Web References \ myWS \ Reference.cs: linha 532 em ConsoleApplication3.Program.Main (String [] args) на c: \ VS \ ConsoleApplication3 \ ConsoleApplication3 \ Program.cs: linha 14 em System.AppDomain._nExecuteAssembly (сборка RuntimeAssembly, String [] args) em System.AppDomain.ExecuteAssembly (String assemblyFile, Evidence assemblySecurity, String [ ] args) em Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly () em System.Threading.ThreadHelper.ThreadStart_Context (состояние объекта) em System.Threading.ExecutionContext.RunInternal (ExecutionContext ExecutionContext, обратный вызов ContextCallback, состояние объекта) emyncserve, состояние System. .Threading.ExecutionContext.Run (ExecutionContext ExecutionContext, обратный вызов ContextCallback, состояние объекта, логическое preserveSyncCtx) em System.Threading.ExecutionContext.Run (ExecutionContext ExecutionContext, обратный вызов ContextCallback, состояние объекта) em System.Threading.ThreadnerHelception:
Несмотря на указанную выше проблему, использование SoapUI
и XML
работает хорошо.
<soapenv:Envelope xmlns:soapenv="https://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="https://www.multispeak.org/Version_3.0">
<soapenv:Header>
<ver:MultiSpeakMsgHeader Version="3.0" UserID="myId" Pwd="myPwd" AppName="?" AppVersion="?" Company="?" CSUnits="feet" CoordinateSystem="?" Datum="?" SessionID="?" PreviousSessionID="?" ObjectsRemaining="?" LastSent="?" RegistrationID="?"/>
</soapenv:Header>
<soapenv:Body>
<ver:GetMethods/>
</soapenv:Body>
I am thinking that the problem is related to authentication, since I do not set any credentials in the console applications.