1
런타임시 ASP.NET 코드에서 SOAP 웹 서비스를 호출하는 방법과 컴파일 타임에 참조/웹 참조로 추가하는 방법이 없습니다. 이것은 응용 프로그램이 각 URL을 호출하는 데 필요한 웹 서비스 url, 메서드 및 매개 변수 목록을 알고 있다고 가정합니다. 사전에ASP.NET에서 SOAP 웹 서비스 런타임 호출
덕분에 다음과 같은 방법을 호출 할 것을 가정하면 비제이
런타임시 ASP.NET 코드에서 SOAP 웹 서비스를 호출하는 방법과 컴파일 타임에 참조/웹 참조로 추가하는 방법이 없습니다. 이것은 응용 프로그램이 각 URL을 호출하는 데 필요한 웹 서비스 url, 메서드 및 매개 변수 목록을 알고 있다고 가정합니다. 사전에ASP.NET에서 SOAP 웹 서비스 런타임 호출
덕분에 다음과 같은 방법을 호출 할 것을 가정하면 비제이
:
using (WebClient client = new WebClient())
{
client.Headers.Add("SOAPAction", "\"http://tempuri.org/HelloWorld\"");
client.Headers.Add("Content-Type", "text/xml; charset=utf-8");
var payload = @"<?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><HelloWorld xmlns=""http://tempuri.org/""><foo><Id>1</Id><Name>Bar</Name></foo></HelloWorld></soap:Body></soap:Envelope>";
var data = Encoding.UTF8.GetBytes(payload);
var result = client.UploadData("http://example.com/Service1.asmx", data);
Console.WriteLine(Encoding.Default.GetString(result));
}
그리고 그 결과를 분석 : 당신은 올바른 SOAP 봉투를 구성 할 필요가
public class Foo
{
public int Id { get; set; }
public string Name { get; set; }
}
[WebMethod]
public string HelloWorld(Foo foo)
{
return "Hello World";
}
을 XML.
빠른 응답을 보내 주셔서 감사합니다. 내가 이것을 밖으로 시험하게 해주세요. Rgds 비제이 – vijay
감사합니다. Darin. 그것은 아주 잘 작동했습니다. – vijay