不显示SOAP服务的数据
我有一个涉及C#控制台客户端和Web服务的有趣问题。 我的怀疑是某个地方有一个名称空间错误或一些简单的事情,但八个小时茫然地盯着屏幕尚未透露它们,所以我想我会再尝试一些眼睛。
WSDL
请求XSD
响应XSD(缩短,因为它很大)
使用此WSDL,我在soapUI中获得以下请求和响应:SoapUI请求:
12345
SoapUI响应(为了便于阅读而缩短):
1 1 12345 PLU My dummy product
我已经尝试用svcutil生成代理并在C#中使用服务引用无济于事。 SoapUI按预期工作并返回数据,而C#获取一个空列表。
C#测试代码
class Program { static void Main(string[] args) { BOMPortTypeClient _client = new BOMPortTypeClient(); var state = _client.State; BOMRequestItem _reqItem = new BOMRequestItem { ProductNumber = "12345" }; IList _list = _client.BOM(_reqItem); } }
编辑:添加了来自.Net的请求/响应的Fiddler日志
.Net请求
12345
.Net响应
1 1 12345 PLU My dummy product
由于我确实得到了数据,我知道服务理解来自.Net的请求,问题是.Net似乎无法理解响应。 这就是为什么我首先想到的是命名空间问题。 现在我不再那么肯定了。 我在.Net中没有错误,只是一个空数组。