简体   繁体   English

如何从.net核心中的ASYNC SOAP Web服务获取响应?

[英]How i get response from ASYNC SOAP webservice in .net core?

Firstly im newbie in .net core and soap webserive in .net. 首先,.net核心中的im newbie和.net中的soap webserive。 We're working on a project about requesting data from SOAP-Based webserive(from WSDL). 我们正在研究一个有关从基于SOAP的webserive(来自WSDL)中请求数据的项目。 Maybe the question seems so easy or wierd, i apologize for that. 我对此表示歉意,也许这个问题看起来如此简单或奇怪。

Here i draw our system: 在这里,我画我们的系统: 在此处输入图片说明

The system works like that, first client request a save request from our web API, and we're add some authentication information for SOAP webservice and query from SOAP webservice. 该系统的工作方式如下:第一个客户端从我们的Web API请求保存请求,然后为SOAP Web服务添加一些身份验证信息并从SOAP Web服务进行查询。 Than SOAP webservice returns a unique queryNumber to query results at a later date. 比SOAP Web服务返回一个唯一的queryNumber以便以后查询结果。 Problem is that i couldnt get queryNumber from response. 问题是我无法从响应获取queryNumber。

i added references via WSDL adress using WCF webservice provider and all methods are implemented in references : saveRequest (paramaters, userid for auth., pass for auth.), saveResponse (queryNumber), saveAsync (same as saveRequest). 我使用WCF Web服务提供程序通过WSDL地址添加了引用,并且所有方法都在引用中实现: saveRequest (参数,用于身份验证的用户ID,用于身份验证的pass), saveResponse (queryNumber), saveAsync (与saveRequest相同)。 saveAsync method calls saveRequest already. saveAsync方法已调用saveRequest。

The usage of saveAsync is seems in reference like: saveAsync的用法似乎在参考中像这样:

ServiceClient.saveResponse = await ServiceClient.saveAsync(params);

So i wrote that code: 所以我写了这段代码:

static async Task<ServiceClient.saveResponse> _run (params){
   Service.ServiceClient = new Service.ServiceClient();
   ServiceClient.saveResponse getResult= await ServiceClient.saveAsync(params);
   return getResult;
}

And than i called this Async method in main or somewhere. 而且比我在主要或其他地方调用此异步方法。 But when i called that async method and tried to get queryNumber, I got Internal Server Error (500). 但是,当我调用该异步方法并尝试获取queryNumber时,出现了内部服务器错误(500)。

Actually im sending parameters using FormBody (with XML). 实际上,我使用FormBody(带有XML)发送参数。

I tried same task using SOAPUI and get result XML without any error. 我使用SOAPUI尝试了相同的任务,并获得了结果XML,没有任何错误。 Also i tracked code and it's seen that the code stuck in exactly in there: 我也跟踪了代码,发现代码卡在其中了:

ServiceClient.saveResponse getResult= await ServiceClient.saveAsync(params);

I'm not sure did i use code block correctly. 我不确定我是否正确使用了代码块。 Do you see any wrong block about code ? 您是否看到有关代码的任何错误提示? or misuse ? 还是滥用? Maybe i used async method wrongly but saveAsync wants code blocks exactly like this. 也许我错误地使用了异步方法,但是saveAsync希望代码块完全像这样。

thank you in advance. 先感谢您。

Edit 1 : Our 3rd party SOAP web starting with HTTPS://... . 编辑1:以HTTPS:// ...开头的第三方SOAP网络。 is error relevant to that ? 错误与此有关吗?

I had the solution. 我有解决方案。 The problem was about .Net Core 2.0 version or System.ServiceModel.Http version. 问题是关于.Net Core 2.0版本或System.ServiceModel.Http版本。 I applied steps in Connecting to a SOAP service with .Net Core 2.0 behind a proxy and problem is solved. 我在代理后面应用了.Net Core 2.0连接到SOAP服务中的步骤,并解决了问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 从 C# .NET Core(特别是 Workday)调用 Java 网络服务。 如何在soap请求中获取xml属性 - Calling a Java webservice from C# .NET Core (specifically Workday). How to get xml attributes in the soap request 如何在C#Soap或其他Soap中从Web服务获取XMLResponse - How to get XMLResponse from Webservice in c# Soap or other soap .Net Core - 使用 LINQ to XML 从 SOAP 响应中按名称获取元素 - .Net Core - Use LINQ to XML to get element by name from SOAP response 在没有WSDL的情况下从webservice反序列化SOAP响应 - Deserialize SOAP response from webservice without WSDL .NET Core Web API - 如何从 ActionResult 获取响应信息 - .NET Core Web API - How to Get Response Information from ActionResult 如何从 .NET 核心端点获得多重响应 - How to get multiple response from .NET Core endpoint 如何访问 SOAP 响应 - How do I get access to SOAP response 在C#中执行Web服务后如何捕获SOAP响应? 我需要在代码中进行操作 - How can I capture the SOAP response after executing a webservice in C#? I need to manipulate it in code 如何从SharePoint 2010 Web服务获取异步的listitems - How to get the listitems async from a SharePoint 2010 webservice 从宁静的Web服务获取响应 - Get response from restful webservice
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM