sdm*_*ler 4 c# service soap object
我正在构建一个Web服务来传回一个(艺术家)对象列表.在艺术家对象内部有一个(专辑)对象列表.在Album对象中有一个歌曲列表.
所以基本上我正在建立一个大的父母音乐树.
我的问题是,如何使用SOAP传递此信息?
什么是最好的使用方法.
现在我得到的只是
<Artist>
<Name>string</Name>
<Albums>
<AlbumName>string</AlbumName>
<Album xsi:nil="true" />
<Album xsi:nil="true" />
</Albums>
<Albums>
<AlbumName>string</AlbumName>
<Album xsi:nil="true" />
<Album xsi:nil="true" />
</Albums>
</Artist>
Run Code Online (Sandbox Code Playgroud)
它在专辑中分解,但它显示了我存储的两张专辑.
任何建议,将不胜感激!
好消息是,.NET Web服务将为您处理XML.您所要做的就是将返回类型声明为List<Artist>或类似.Web服务将负责将对象序列化为XML.目前尚不清楚您是否正在推出自己的XML.
您粘贴的XML看起来像是来自WSDL.
在Visual Studio中运行项目,然后浏览到Web服务.asmx页面.你会发现这样的东西.
要使用HTTP POST协议测试操作,请单击"调用"按钮.
单击该按钮可运行方法.
也许尝试这个简单的测试WebMethod,如果你自己没有按预期工作: 结果将是这个XML文档.
[WebMethod]
public List<Artist> ListAllArtists()
{
List<Artist> all = new List<Artist>();
Album one = new Album { Name = "hi", SongNames = new List<string> { "foo", "bar", "baz" } };
Album two = new Album { Name = "salut", SongNames = new List<string> { "green", "orange", "red" } };
Album three = new Album { Name = "hey", SongNames = new List<string> { "brown", "pink", "blue" } };
Album four = new Album { Name = "hello", SongNames = new List<string> { "apple", "orange", "pear" } };
all.Add(new Artist { Albums = new List<Album> { one }, Name = "Mr Guy" });
all.Add(new Artist { Albums = new List<Album> { two }, Name = "Mr Buddy" });
all.Add(new Artist { Albums = new List<Album> { three, four }, Name = "Mr Friend" });
return all;
}
public class Artist
{
public List<Album> Albums;
public string Name;
}
public class Album
{
public string Name;
public List<string> SongNames;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18751 次 |
| 最近记录: |