2010-01-27 26 views
6

tôi cần truy cập dịch vụ web bảo mật, mọi yêu cầu trong tiêu đề cần phải mang theo mã thông báo.Cách tạo ứng dụng khách xà phòng mà không cần WSDL

tôi biết điểm cuối của dịch vụ web, tôi cũng biết cách tạo mã thông báo.

nhưng tôi không thể thấy WSDL cho dịch vụ web.

có cách nào trong C#, để tạo ứng dụng khách xà phòng, không có tệp WSDL.

+0

Có thể trùng lặp: http://stackoverflow.com/questions/278037/soap-client-in-c-without-access-to-a-wsdl-file –

Trả lời

5

Tôi đã xác minh rằng mã này, trong đó sử dụng các HttpWebRequest class, hoạt động:

// Takes an input of the SOAP service URL (url) and the XML to be sent to the 
// service (xml). 
public void PostXml(string url, string xml) 
{ 
    byte[] bytes = Encoding.UTF8.GetBytes(xml); 
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
    request.Method = "POST"; 
    request.ContentLength = bytes.Length; 
    request.ContentType = "text/xml"; 

    using (Stream requestStream = request.GetRequestStream()) 
    { 
     requestStream.Write(bytes, 0, bytes.Length); 
    } 

    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) 
    { 
     if (response.StatusCode != HttpStatusCode.OK) 
     { 
      string message = String.Format("POST failed with HTTP {0}", 
              response.StatusCode); 
      throw new ApplicationException(message); 
     } 
    } 
} 

Bạn sẽ cần phải tạo ra các phong bì SOAP phù hợp và vượt qua rằng trong khi "xml" biến. Phải mất một số đọc. Tôi thấy điều này SOAP Tutorial là hữu ích.

3

Ứng dụng khách SOAP chỉ đơn giản là ứng dụng khách HTTP có nhiều nội dung trong đó. Xem HttpWebRequest class. Sau đó, bạn sẽ phải tạo thông điệp SOAP của riêng mình, có thể sử dụng XML Serialization.

0

Bạn có thể tạo dịch vụ của riêng mình, hiển thị dịch vụ đó để có WSDL và sau đó tạo khách hàng từ đó ... loại đường dài.

0

Bạn có thể yêu cầu nhà phát triển dịch vụ web gửi cho bạn tệp WSDL và XSD bằng email không? Nếu có, bạn có thể đổ các tập tin trong một thư mục và sau đó thêm một tài liệu tham khảo dịch vụ bằng cách sử dụng WSDL trên đĩa cứng của bạn.

Các vấn đề liên quan