来自 Siebel 的 SOAP 请求在每个元素中都有命名空间

Posted

技术标签:

【中文标题】来自 Siebel 的 SOAP 请求在每个元素中都有命名空间【英文标题】:SOAP Request from Siebel has namespace in every element 【发布时间】:2013-07-21 05:11:59 【问题描述】:

在出站 Web 服务中,我正在尝试向另一个应用程序发送请求。问题是当 Siebel 发送请求时,它会在soap 请求的每个元素中发送名称空间参数。 见下文:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body><getAuths xmlns="http://data.service.client.ods.transys.wex.com/">
<authSearch>
<authID xmlns="http://data.service.client.ods.transys.wex.com/"></authID>
</authSearch>
</getAuths>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

而如果我尝试来自 SOAP 的相同请求,则发送的 SOAP XML 没有问题。

我之前查看了一个类似的博客,其中有一些名称空间属性要从集成对象中删除,但我无法摆脱这个问题。

谁能告诉我是否必须更改 IC Field USer 属性或 IC User 属性或 IO 用户属性? 对此的任何回应将不胜感激。

提前致谢。 !

最好的问候, -N

【问题讨论】:

【参考方案1】:

IC 字段用户属性必须保留,请勿停用。相反,删除它旁边的值字段中的文本。

因此您将拥有 ICField 用户属性,但为空白。这应该删除命名空间。

如果这不起作用,请尝试停用所有包含命名空间的 IO 和 ICF 用户属性。

【讨论】:

您好 Ranjith,感谢您的回复。我不得不做很多试验和错误,后来发现 ICF 应该没有命名空间;所以把它留空。子 IC 也应该有空白命名空间,但父 IC 应该有命名空间,IO 也应该有命名空间。花了相当多的时间来弄清楚这一点。我想知道是否有一种更简单的方法来理解 WSDL 并确定什么具有命名空间以及什么应该是空白的。感谢您对此的回应。谢谢! 谢谢兰吉斯。由于字段中没有名称空间的 WSDL,我遇到了类似的问题。将字段用户属性留空解决了它。我希望 Siebel 可以使用前缀命名空间,而不是在我的 XML 输出中包含一堆 xmlns=""...

以上是关于来自 Siebel 的 SOAP 请求在每个元素中都有命名空间的主要内容,如果未能解决你的问题,请参考以下文章

如何在Siebel应用程序中上传图像以通过Web服务进一步发送?

在 .net 中使用 SAML 断言准备 Soap 服务

来自浏览器的 Soap 请求触发 http 预检

如何删除 来自SOAP请求

强制在来自 NET Web 服务代理类的 SOAP 请求中包含默认值属性属性

如何使用来自iPhone应用程序的SOAP请求将图像+ xml上传到Web服务器