문제

거기에 간단한 방법으로 쿼리하는 웹 서비스는 메시지를 지원?C#.인터넷 응용 프로그램에서 일하고 있어요 요구를 처리할 수 있는 오래된 버전의 웹 서비스하지 않는 구현하는 메시지도 보낼 수 있습니다.웹 서비스에 노출되지 않는 버전 번호,이렇게 계획 B 의 경우 메시지가 정의됩니다.

나는 가정을 만들 수 있습 HTTP 요청에 대한 WSDL 및 분석 그것은,그러나기 전에 아래로 가는 경로,고 싶은 없는지 확인하는 간단한 접근 방식이다.

업데이트:하기로 했 WSDL 을 얻을 직접 메시지.여기서 초안을 얻기 위해 모든 메시지:

HttpWebRequest webRequest = (HttpWebRequest) WebRequest.Create( "http://your/web/service/here.asmx?WSDL" );
webRequest.PreAuthenticate = // details elided
webRequest.Credentials = // details elided
webRequest.Timeout = // details elided
HttpWebResponse webResponse = (HttpWebResponse) webRequest.GetResponse();

XPathDocument xpathDocument = new XPathDocument( webResponse.GetResponseStream() );
XPathNavigator xpathNavigator = xpathDocument.CreateNavigator();

XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager( new NameTable() );
xmlNamespaceManager.AddNamespace( "wsdl", "http://schemas.xmlsoap.org/wsdl/" );

foreach( XPathNavigator node in xpathNavigator.Select( "//wsdl:message/@name", xmlNamespaceManager ) )
{
    string messageName = node.Value;
}
도움이 되었습니까?

해결책

나는 확 WSDL 은 작업을 수행하는 방법입니다.

다른 팁

분석 WSDL 아마 간단한 방법입니다.WCF 를 사용하여,그것은 또한 가능하면 다운로드 WSDL at runtime,본질적으로 실행 svcutil 에 그것을 통해 코드와 끝까지 동적으로 생성된 프록시를 확인할 수 있는 구조이다.보 http://blogs.msdn.com/vipulmodi/archive/2006/11/16/dynamic-programming-with-wcf.aspx 에 대한 예 런타임-생성 프록시합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top