【问题标题】:SOAP Response WCF Web serviceSOAP 响应 WCF Web 服务
【发布时间】:2012-10-22 05:52:07
【问题描述】:

我正在开发基于 SOAP 的 Web 服务。我的问题是是否可以按以下格式创建 SOAP 响应

<tagname1>
<tag1> value1 </tag1>
<tag1> value2 </tag1>
</tagname1>

我的疑问是我是否可以在两个具有相同标签名(即 tag1)的不同标签内返回 2 个不同的值(即 value1 和 value2 )

顺便说一句,我创建了一个类,并且我将该类对象作为响应返回,因此该类对象的所有字段在 SOAP 响应中显示为单独的标签。

更新

我找到了部分解决方案。我在响应类中创建了一个数组元素。我使用数组元素来存储列表。当我返回类对象时,这就是我得到的 -

<tagname .... >
<a:String> value1 </a:String>
<a:String> value2 </a:String>
<a:String> value3 </a:String>
</tagname>

我可以用实际的标记名替换“a:long”吗?

【问题讨论】:

  • 您当然可以这样做,甚至可以采用不同的方式,但重要的细节是:为什么您需要返回多个tag1 元素?你确定这不是XY problem?您能详细说明一下为什么需要这种结构吗? (请注意,您可以编辑问题以添加详细信息。)
  • 感谢@Jeroen 的回复!我想从我的 Web 服务返回一个公司列表作为响应。这不是更好的方法吗?您能否详细说明如何生成这样的响应?

标签: wcf soap


【解决方案1】:

SOAP 只是以某种有组织和结构化的方式发送某些数据的特定方式。您可以发送任何遵循 SOAP 规范的格式请求。请求应该是有效的 xml。响应再次由服务器以相同的方式形成。我不是 WCF 方面的专家。但是 SOAP 我可以告诉你,响应应该是一个有效的 xml,仅此而已。但是请注意这件事,谁将使用响应?,如果您仅将其用于内部目的,那么您对任何表示都没有任何问题。但是,如果您打算将其公开为某种公共服务,请让您的回应有意义。

谢谢

【讨论】:

  • 感谢您的回复!是的,我们正在为内部目的创建此服务。我想返回多个值。所有的值都表示和代表相同的东西。我不想创建多个标签,而是创建一个标签并返回多个值。无论如何,这可以实现吗?我希望我已经把疑问说清楚了谢谢!
  • 这种情况的一个例子可能是 - adidasnikereebok
猜你喜欢
  • 1970-01-01
  • 2012-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-29
  • 1970-01-01
相关资源
最近更新 更多