Web服务XML前缀
本文关键字:前缀 XML 服务 Web | 更新日期: 2023-09-27 18:05:19
首先,我知道前缀对于遵循标准的xml不重要。我被迫使用一个web服务,它要求请求看起来像这样
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prefix="http://www.url.com">
<soapenv:Header/>
<soapenv:Body>
<prefix:Search>
<SearchCriteria>
<registrationStatus>A</registrationStatus>
<startDate/>
<endDate/>
</SearchCriteria>
</prefix:Search>
</soapenv:Body>
</soapenv:Envelope>
当我生成请求时它最终看起来像这样
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://www.url.com">
<soapenv:Header/>
<soapenv:Body>
<Search (also tried here xmlns="http://www.url.com")>
<SearchCriteria>
<registrationStatus>A</registrationStatus>
<startDate/>
<endDate/>
</SearchCriteria>
</Search>
</soapenv:Body>
</soapenv:Envelope>
因为前缀缺失,我得到一个错误,说它找不到搜索子。使用fiddler,我用一百万种不同的方式重新组合了这条消息,除非我为它添加前缀和名称空间,否则都失败了。我不拥有web服务,所有者不会做出改变,所以我一直在努力弄清楚它。
我的问题是如何添加前缀和名称空间的请求?我已经添加了服务到我的c#控制台测试应用程序使用添加服务引用,我尝试修改合格和不合格的设置,但没有添加前缀。
我能够在这里找到一个很好的解决方案拦截来自和发送到客户端的web服务的SOAP消息
这对于任何想要做同样事情的人来说都是完美的
我认为你必须为你的类搜索提供targetnamespaces