C#ASP.Net:如何在不使用WSDL或代理类的情况下在.NET 4.0 C#中调用Web服务

SKGeek

我必须通过POST命令将一些XML DATA发送到Web服务,我根本没有关于Webserice或任何东西的信息,我只知道我需要向其发送XMLstream,我知道服务器IP地址和端口,参数的XML树。而且,我敢打赌如何使用此Web服务并获得响应。我从未使用过Web服务,因此请理解我的代码是否存在一些重大错误,并为我提供指导:

public  void Execute()
    {
        HttpWebRequest request = CreateWebRequest();
        XmlDocument soapEnvelopeXml = new XmlDocument();
        soapEnvelopeXml.LoadXml(@"<?xml version=""1.0"" encoding=""utf-8""?>
        <soap:Envelope              xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/""  xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">

         <soap:Body> 

                    <mergeprofiles xmlns=""http://127.0.0.1:90"">
                    <Profile>
                    <Member>278615</Member>
                    <ExtRef>003D000001StY68IAF</ExtRef>zs 
                    <Name>LESCA</Name>
                    <ChangedBy>user</ChangedBy>
                    <FirstName>Paolo</FirstName>
                    <Street1>via magnanina 3947</Street1>
                     <Street2></Street2>
                    <Street3></Street3>
                    <City>VIGEVANO</City>
                    <ZIP>27029</ZIP>
                    <EMail>[email protected]</EMail>
                    <Phone></Phone>
                    <MobilePhone>+39331231233</MobilePhone>
                    <Fax></Fax>
                    <ISOLanguage>en</ISOLanguage>
                    <Salut1>Mr</Salut1>
                    <Homepage></Homepage>
                    <VATNo1>0</VATNo1>
                    </Profile>
                    <EndOfMessage>@@@</EndOfMessage>
                    </mergeprofiles>

</soap:Body>

</soap:Envelope>");


using (Stream stream = request.GetRequestStream())
        {
            soapEnvelopeXml.Save(stream);
        }

        using (WebResponse response = request.GetResponse())
        {
            using (StreamReader rd = new StreamReader(response.GetResponseStream()))
            {
                string soapResult = rd.ReadToEnd();
                Console.WriteLine(soapResult);
            }
        }
    }
    /// <summary>
    /// Create a soap webrequest to [Url]
    /// </summary>
    /// <returns></returns>
    public HttpWebRequest CreateWebRequest()
    {
        HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(@"http://127.0.0.1:90/");
        webRequest.Headers.Add(@"SOAP:Action");
        webRequest.ContentType = "text/xml;charset=\"utf-8\"";
        webRequest.Accept = "text/xml";
        webRequest.Method = "POST";
        return webRequest;
    }

问题是,每当我在中调用方法Executepage_load,它便会运行并且永远不会停止。当我使用其他方法进行调用时,Web服务正在运行,我不知道这种情况如何或为什么发生,请您帮忙吗?

韦莱甘

尝试按照本文中的一些步骤操作:

http://www.asp.net/web-api/overview/advanced/calling-a-web-api-from-a-net-client

WebAPI是.NET服务框架的最新一轮,它与代码生成的SOAP类有很大的不同。您可能会使用以下方法,这对您特别有用:

response = await client.PostAsync("your url", new StreamContent(yourStream));

如果使用的是<.NET 4.5,则可能无法使用此语法。在这种情况下,请尝试使用以下答案:

.NET:发送带有数据的POST和读取响应的最简单方法

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#ASP .NET; 获取登录用户的NetworkCredential对象?

来自分类Dev

C#asp net updatepanel导致页面刷新

来自分类Dev

如何在C#ASP NET Core中的后台服务内部使用Mediator?

来自分类Dev

如何在不使用外部服务的情况下在ASP.NET中获取客户端的外部IPv4地址?

来自分类Dev

使用c#Asp .net MVC将视频上传到Youtube

来自分类Dev

如何在不使用MSXML的情况下调用ASP.Net制造的Web服务?

来自分类Dev

使用 T4 为代理的 ASP.NET Web API 创建 C# 模型类

来自分类Dev

ASP.NET(C#)Web服务中的异常处理

来自分类Dev

如何在不使用ASP.NET MVC4中的实体框架的情况下从数据库检索图像

来自分类Dev

如何在不使用ASP.NET MVC4中的实体框架的情况下从数据库检索图像

来自分类Dev

无法在Visual Studio C#ASP内的React应用程序上使用Material-UI。NET核心Web应用程序

来自分类Dev

如何从C#中的另一个项目调用或启动asp.net Web服务(asmx)

来自分类Dev

如何在不使用DocumentBuilder的情况下在Aspose Words for .NET中添加页码?

来自分类Dev

从ASP.NET 4调用C ++ DLL

来自分类Dev

如何在不使用Visual Studio的情况下使用ASP.NET WebAPI创建RESTful Web服务?

来自分类Dev

需要在特定时间使用 c# asp.net 调用 web 服务

来自分类Dev

多视图文件夹C#ASP MVC4

来自分类Dev

为什么从asp.net c#应用程序进行的Web服务调用返回null?

来自分类Dev

为什么从asp.net c#应用程序进行的Web服务调用返回null?

来自分类Dev

如何在ASP.NET MVC中不使用Ajax的情况下从View调用控制器的方法?

来自分类Dev

如何在ASP.NET MVC中捆绑资产以在不访问Razor的情况下在Angular中使用?

来自分类Dev

使用.NET Framework 3.5在C#中调用Web API

来自分类Dev

使用.NET Framework 3.5在C#中调用Web API

来自分类Dev

如何在没有behidcode的情况下在asp.net中隐藏图像

来自分类Dev

如何在不使用数据库的情况下在VB.NET的DataGridView中显示数组?

来自分类Dev

如何在不使用数据库的情况下在VB.NET的DataGridView中显示数组?

来自分类Dev

C#asp mvc如何获取派生类对象的值

来自分类Dev

C#asp mvc如何获取派生类对象的值

来自分类Dev

如何在C#asp中分割带有很多空格的文件行?

Related 相关文章

  1. 1

    C#ASP .NET; 获取登录用户的NetworkCredential对象?

  2. 2

    C#asp net updatepanel导致页面刷新

  3. 3

    如何在C#ASP NET Core中的后台服务内部使用Mediator?

  4. 4

    如何在不使用外部服务的情况下在ASP.NET中获取客户端的外部IPv4地址?

  5. 5

    使用c#Asp .net MVC将视频上传到Youtube

  6. 6

    如何在不使用MSXML的情况下调用ASP.Net制造的Web服务?

  7. 7

    使用 T4 为代理的 ASP.NET Web API 创建 C# 模型类

  8. 8

    ASP.NET(C#)Web服务中的异常处理

  9. 9

    如何在不使用ASP.NET MVC4中的实体框架的情况下从数据库检索图像

  10. 10

    如何在不使用ASP.NET MVC4中的实体框架的情况下从数据库检索图像

  11. 11

    无法在Visual Studio C#ASP内的React应用程序上使用Material-UI。NET核心Web应用程序

  12. 12

    如何从C#中的另一个项目调用或启动asp.net Web服务(asmx)

  13. 13

    如何在不使用DocumentBuilder的情况下在Aspose Words for .NET中添加页码?

  14. 14

    从ASP.NET 4调用C ++ DLL

  15. 15

    如何在不使用Visual Studio的情况下使用ASP.NET WebAPI创建RESTful Web服务?

  16. 16

    需要在特定时间使用 c# asp.net 调用 web 服务

  17. 17

    多视图文件夹C#ASP MVC4

  18. 18

    为什么从asp.net c#应用程序进行的Web服务调用返回null?

  19. 19

    为什么从asp.net c#应用程序进行的Web服务调用返回null?

  20. 20

    如何在ASP.NET MVC中不使用Ajax的情况下从View调用控制器的方法?

  21. 21

    如何在ASP.NET MVC中捆绑资产以在不访问Razor的情况下在Angular中使用?

  22. 22

    使用.NET Framework 3.5在C#中调用Web API

  23. 23

    使用.NET Framework 3.5在C#中调用Web API

  24. 24

    如何在没有behidcode的情况下在asp.net中隐藏图像

  25. 25

    如何在不使用数据库的情况下在VB.NET的DataGridView中显示数组?

  26. 26

    如何在不使用数据库的情况下在VB.NET的DataGridView中显示数组?

  27. 27

    C#asp mvc如何获取派生类对象的值

  28. 28

    C#asp mvc如何获取派生类对象的值

  29. 29

    如何在C#asp中分割带有很多空格的文件行?

热门标签

归档