Я хочу создать веб-API для получения запроса от внешней службы SOAP.
Работа службы SOAP: Когда я отправляю запрос внешней службе, я также предоставить URL обратного вызова, на который служба отправит мне ответ.
Я хочу сделать это в Asp. net Core WebAPI. Это то, что я сделал.
Я создал контроллер WebAPI для получения ответа.
[Route("[controller]")]
[ApiController]
[Authorize]
public class RewardsController : ControllerBase
{
[HttpGet]
[Route("/api/B2CListener")]
public ActionResult GetData(string document)
{
return Ok();
}
}
Когда эта внешняя служба отправила мне ответ, я получил ошибку (извлечено из журнала) этот метод 405 не допускается. Мое приложение может получить ответ от внешней службы, но не может получить его в моем сервисе из-за недопустимого метода. Я пытался HttpPost
, HttpGet
, HttpPut
, но ничего не работает. Любая помощь может быть оценена.
Ведение журнала: Это то, что регистрируется в журнале.
Запрос
http 10.117.8.132:801/api/B2CListener/ <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><res:ResultMsg xmlns:res="http://cps.huawei.com/cpsinterface/result"><![CDATA[<?xml version="1.0" encoding="UTF-8"?><Result><ResultParameters><ResultParameter><Key>FailedReason</Key><Value>Failed to match a reason type because the Identity Subtype factor of the credit party does not match.</Value></ResultParameter></ResultParameters><ResultCode>2005</ResultCode><ResultType>0</ResultType><OriginatorConversationID>SX20130129210023</OriginatorConversationID><ResultDesc>Can not match reason type.</ResultDesc><TransactionID>000000000000</TransactionID><ConversationID>AG_20130AAS2</ConversationID></Result>]]></res:ResultMsg></soapenv:Body></soapenv:Envelope>
Response
405:
Я использовал ведение журнала RequestResponse, используя middleware