Мне нужно создать услугу, способную получать сообщения мыла и перенаправить их на микросервис. Угадайте):
Я решил построить веб -сервис ASP.NET ASMX, потому что это показалось наиболее простым решением для обработки сообщений SOAP; < /p>
С учетом сказанного я сталкиваюсь с конкретной проблемой Во время моего развития и моих исследований не могло помочь мне решить его (пожалуйста, подумайте, что я начал свою карьеру в качестве разработчика не более 5 лет назад, поэтому мои знания о мыльных веб -сервисах в Dotnet довольно недостаточны:
Объект, который я получу PrettyPrint-Override ">
...
< /code>
Веб -сервис, который я написал до сих пор, ничем не отличается от того, что VisualStudio генерирует при добавлении нового файла ASMX (я сообщу об полноте): < /p>
< H6> asmxwebservice.asmx.cs < /h6>
namespace ASMXWebService
{
///
/// Summary description for ProxySOAP
///
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class ASMXWebService : WebService
{
[WebMethod]
public string EndpointRelatedFunction(object data)
{
return "Hello World";
}
}
}
< /code>
Эта часть кода генерирует конечную точку, которая может получать сообщения XMLS в качестве той, которая следует за следующей: < /p>
< /code>
Моя проблема заключается в том, что когда я пытаюсь отправить объект, который должен получить эту службу (я использую почтальон), я получаю «Ошибка внутреннего сервера 500» со следующей ошибкой Сообщение: < /p>
soap:VersionMismatchSystem.Web.Services.Protocols.SoapException: Possible SOAP version mismatch:
Envelope namespace was
unexpected. Expecting http://schemas.xmlsoap.org/soap/envelope/. at
System.Web.Services.Protocols.SoapServerProtocol.CheckHelperVersion() at
System.Web.Services.Protocols.SoapServerProtocol.Initialize() at
System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context,
HttpRequest request, HttpResponse response, Boolean& abortProcessing)
< /code>
Я думаю, я должен добавить что -то в верхней части
public class ASMXWebService : WebService< /code>
Но я понятия не имею, что это будет. < /p>
Решение этой проблемы может решить мои другие проблемы (я предполагаю Проблемы) и это могут быть: < /p>
Как я могу определить эти пользовательские пространства имен префикса (например, ': a' или ': ns1') в коде ASMX? < /li>
Какое значение может быть значением для XMLN: NS1 с этим странным форматом? (Я ожидаю только пути как значение пространства имен). < /Li>
< /ul>
Я открыт, чтобы переосмыслить всю структуру моего сервиса (все, кроме необходимости использовать WCF, Если это лучший способ, расскажите мне почему и покажите, как пожалуйста). < /p>
Обновление: < /strong>
Очевидно, до тех пор, пока у URI пространства имен. Достижн, веб -сервис способен правильно разобрать XML без необходимости добавлять что -либо в файл asmxwebservice.asmx.cs;
, так что ошибка, вероятно, была связана с тем фактом, что в сети я не мог. Добежно достичь URI первого пространства имен.
Проблема, с которой я сталкиваюсь сейчас, связана с пространством имен «NS1», это не кажется URI, поэтому я связался с обслуживающими услугами отправителя, чтобы получить Infos на Что бы это ни было. был в моем файле asmxwebservice.asmx.cs; Изменение "http://tempuri.org/" на NS1 -пространство имен все еще дает ошибку, потому что веб -сервис не способен десериализовать тело XML (ожидает
Подробнее здесь: [url]https://stackoverflow.com/questions/79373800/asp-net-asmx-webservice-custom-namespace-prefix-building-a-dotnet-service-that[/url]
Мне нужно создать услугу, способную получать сообщения мыла и перенаправить их на микросервис. Угадайте): Я решил построить веб -сервис ASP.NET ASMX, потому что это показалось наиболее простым решением для обработки сообщений SOAP; < /p> С учетом сказанного я сталкиваюсь с конкретной проблемой Во время моего развития и моих исследований не могло помочь мне решить его (пожалуйста, подумайте, что я начал свою карьеру в качестве разработчика не более 5 лет назад, поэтому мои знания о мыльных веб -сервисах в Dotnet довольно недостаточны: Объект, который я получу PrettyPrint-Override ">[code]
... < /code> Веб -сервис, который я написал до сих пор, ничем не отличается от того, что VisualStudio генерирует при добавлении нового файла ASMX (я сообщу об полноте): < /p> < H6> asmxwebservice.asmx.cs < /h6> namespace ASMXWebService { /// /// Summary description for ProxySOAP /// [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. // [System.Web.Script.Services.ScriptService] public class ASMXWebService : WebService { [WebMethod] public string EndpointRelatedFunction(object data) { return "Hello World"; } } } < /code> Эта часть кода генерирует конечную точку, которая может получать сообщения XMLS в качестве той, которая следует за следующей: < /p>
< /code> Моя проблема заключается в том, что когда я пытаюсь отправить объект, который должен получить эту службу (я использую почтальон), я получаю «Ошибка внутреннего сервера 500» со следующей ошибкой Сообщение: < /p> soap:VersionMismatchSystem.Web.Services.Protocols.SoapException: Possible SOAP version mismatch: Envelope namespace was unexpected. Expecting http://schemas.xmlsoap.org/soap/envelope/. at System.Web.Services.Protocols.SoapServerProtocol.CheckHelperVersion() at System.Web.Services.Protocols.SoapServerProtocol.Initialize() at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) < /code> Я думаю, я должен добавить что -то в верхней части
public class ASMXWebService : WebService< /code>
Но я понятия не имею, что это будет. < /p> Решение этой проблемы может решить мои другие проблемы (я предполагаю Проблемы) и это могут быть: < /p>
Как я могу определить эти пользовательские пространства имен префикса (например, ': a' или ': ns1') в коде ASMX? < /li> Какое значение может быть значением для XMLN: NS1 с этим странным форматом? (Я ожидаю только пути как значение пространства имен). < /Li> < /ul> Я открыт, чтобы переосмыслить всю структуру моего сервиса (все, кроме необходимости использовать WCF, Если это лучший способ, расскажите мне почему и покажите, как пожалуйста). < /p> Обновление: < /strong>
Очевидно, до тех пор, пока у URI пространства имен. Достижн, веб -сервис способен правильно разобрать XML без необходимости добавлять что -либо в файл asmxwebservice.asmx.cs;
, так что ошибка, вероятно, была связана с тем фактом, что в сети я не мог. Добежно достичь URI первого пространства имен.
Проблема, с которой я сталкиваюсь сейчас, связана с пространством имен «NS1», это не кажется URI, поэтому я связался с обслуживающими услугами отправителя, чтобы получить Infos на Что бы это ни было. был в моем файле asmxwebservice.asmx.cs; Изменение "http://tempuri.org/" на NS1 -пространство имен все еще дает ошибку, потому что веб -сервис не способен десериализовать тело XML (ожидает
Мне нужно создать услугу, способную получать сообщения мыла и перенаправить их на микросервис. Угадайте):
Я решил построить веб -сервис ASP.NET ASMX, потому что это показалось наиболее простым решением для обработки сообщений SOAP;
С учетом...
Мне нужно создать службу, способную получать сообщения SOAP и перенаправлять их в микрослужбу REST.
Отправителя сообщения нельзя изменить, но моя служба может (и я должен это сделать). догадайтесь):
Я решил создать веб-службу ASP.NET ASMX, потому...
Мне нужно создать службу, способную получать сообщения SOAP и перенаправлять их в микрослужбу REST.
Отправителя сообщения нельзя изменить, но моя служба может (и я должен это сделать). догадайтесь):
Я решил создать веб-службу ASP.NET ASMX, потому...
Мне нужно создать службу, способную получать сообщения SOAP и перенаправлять их в микрослужбу REST.
Отправителя сообщения нельзя изменить, но моя служба может (и я должен это сделать). догадайтесь):
Я решил создать веб-службу ASP.NET ASMX, потому...