2012-08-30 4 views
1

int (EmailID) 및 문자열 (EmailAddress)이 포함 된 UserEmail 객체가 포함 된 DataObjects 클래스가 있습니다.웹 서비스에 객체 목록 전달

전자 메일 주소 목록을 표시하려면 C# .net 응용 프로그램 내에서 UserEmail 개체 목록을 만들고 채 웁니다.

List<DataObjects.UserEmails> myUserEmailsList = new List<DataObjects.UserEmails>(); 

그리고 사용하는 컨트롤에 관계없이 데이터 소스로 사용하십시오.

해당 목록을 웹 서비스에 전달해야합니다. 나는 이것을하는 방법을 볼 수 없다. 상대방이 매개 변수로 목록을 취하는 메서드로 웹 서비스를 작성하는 경우 웹 서비스를 호출하고 목록을 전달할 수 있습니다. 그러나 목록에있는 객체를 만든 클래스에 액세스하지 않고도 목록에서 데이터를 추출하는 방법은 무엇입니까?

개체의 데이터 구조가 무엇인지 모른 채 개체 목록을 반복하는 방법이 있습니까?

+1

http://www.programmersheaven.com/2/XML-Webservice-FAQ-Pass-Array-Of-Custom-Objects 볼의 재산 이름의 키를 사용하여 이메일 주소를 걸릴 수 있습니다? – SliverNinja

+0

내가 소비 할 웹 서비스는 REST가 될 것이라고 말하고 있습니다. –

답변

1

웹 서비스를 사용할 때 데이터 구조를 준수해야합니다. UserEmail 개체 데이터를 가져 와서 서비스가 기대하는 개체로 변환합니다.

데이터 가져 오기 또는 게시로 데이터를 필요로하는 서비스를 사용하는 경우 필요한 모든 키를 사용해야합니다. 그래서 그들은 당신이 당신의 웹 서비스를위한 SOAP이나 REST 프로토콜을 사용하고 "이메일"대신 "EmailAddress를"

+0

그래서 EmailIdentifier와 Email의 속성을 가진 EmailList라는 객체가 있다면 - UserEmail 객체의 복제본을 만들지 만 EmailID와 EmailAddress 속성 대신 EmailIdentifier와 Email의 'their'속성을 가진 EmailList를 호출합니까? –

+0

내가 액세스하는 웹 서비스 유형에 따라 다릅니다. 질문에 소비하려는 서비스에 대한 정보를 더 추가 할 수 있습니까? – Gromer

+0

나는 아직 모른다. .. 내가 필요한 것을 해결할 수 없다면 나는 정보를 얻을 때 돌아와야 할 것 같다. –

0
here a sample to pass list object to your webservice 

    <%@WebService Language="c#" class="CustomObjectArrayWS"%> 
using System; 
using System.Collections; 
using System.Web.Services; 
using System.Xml.Serialization; 
public class CustomObjectArrayWS 
{ 
     [WebMethodAttribute] 
     [XmlInclude(typeof(Address))] 
     public ArrayList GetAddresses() 
    { 
     ArrayList al = new ArrayList(); 
     Address addr1 = new Address("John Smith", "New York",12345); 
     Address addr2 = new Address("John Stalk", "San Fransisco", 12345); 

      al.Add(addr1); 
      al.Add(addr2); 

      return al; 
    } 
} 
// Custom class to be added to the collection to be passed in //and out of the service 
public class Address 
{ 
    public string name; 
    public string city; 
    public int zip;  
    // Default ctor needed by XmlSerializer 
    public Address() 
    { 
    } 
    public Address(string _name, string _city, int _zip ) 
    { 
        this.name = _name; 
        this.city = _city; 
        this.zip = _zip; 
      } 
     } 

+0

당신의 도움에 감사드립니다 - 나는 그것을 완전히 받아 본 척 수 없습니다 - 나는 그것을 시도해보고 그것을 알아낼 수 있는지 알아 보겠습니다. 다시 한번 감사드립니다. –

+0

아, 페니 할인되었습니다. 지금 사세요. 다시 한번 감사드립니다. –

+0

답을 좋은 것으로 표시해 주셔서 감사합니다 ;-) –

관련 문제