当前位置: 首页 > 知识库问答 >
问题:

来自SoapUI的缺少int参数的Web服务请求在minOccurs=1时自动分配0值

乐城
2023-03-14

我有一个只有一个web方法的web服务:

[WebMethod]
public string SendInt([XmlElement(IsNullable=false)] int someInt)
{
    return "Hello World";
}

此web方法生成的WSDL包括以下行:

<s:element name="SendInt">
   <s:complexType>
      <s:sequence>
         <s:element minOccurs="1" maxOccurs="1" name="someInt"   type="s:int"/>
      </s:sequence>
   </s:complexType>
</s:element>

WSDL清楚地声明请求参数是一个值类型(int),它的minOccurs=1,但当我使用SoapUI发送以下请求时:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:SendInt>
      </tem:SendInt>
   </soapenv:Body>
</soapenv:Envelope>

我从服务器得到一个有效的响应,而不是一个指示缺少someInt参数的错误。

在服务器中,我可以看到为someInt参数分配了一个0值。

这是正常的行为吗?

如果是这样,我如何在我的web方法中知道用户是否发送了一个0值或者只是忘记发送这个参数?

如果这不是一个正常的行为,我该如何修复它?

共有1个答案

岳谦
2023-03-14

嘿,当您在请求中指定元素时,它就在那里,您只是没有给它赋值。int的默认值为0,所以是的,这是正常行为。如果省略该元素,将得到一个无效的请求。如果他们忘记发送这个参数,那么整个元素可能就不会正确地出现。在这种情况下,webservice将抛出一个错误

 类似资料:
  • 我尝试在谷歌中找到解决方案,但谷歌中的所有解决方案都不适合我,也许在这里我得到了正确的答案。 我有以下代码: 我得到了这个错误: 回溯(最后一次调用):文件“位置文件”,第42行,在g=gui_main()文件“位置文件”的第26行,在init btn_next=按钮(self.win_about,text=“next”,fg=“red”,command=gui_main.screen_menu(

  • 我试图得到响应从GetFeatureInfo的样本仓储管理系统。但是得到“无法加载http://ogi.state.ok.us/geoserver/wms?SERVICE=WMS

  • 问题内容: 我已经尝试解决一个奇怪的问题了一段时间了。在浏览了许多棱角分明的代码之后,当我通过Charles将请求记录到服务器时,我注意到了一些奇怪的东西。 当我发布到url时,请求实际上不会到达我的服务器。相反,它收到301响应,然后GET请求命中了我的服务器。 这令人难以置信。还有其他人遇到这个问题吗?如果您有兴趣,我已经上传了我的Charles日志的屏幕截图。 作为参考,这是我的服务器的外观

  • null 我是不是漏了什么?或者,向谷歌请求这样做有意义吗? 官方文件中的栏目截图:

  • 我是matplotlib的新手,我试图将文本设置为图形中的一个点,但我有错误: Traceback(最近一次调用):文件main.py,第239行,在main()文件main.py,第232行,在mainp.show_graphic_ortg_drtg()文件/home/josecarlos/Workspace/python/进程/process.py,第363行,show_graphic_ort

  • 我对Python非常陌生,现在我有了第一个真正的问题:我想写一个电子邮件程序,但是我不能使用类来发送邮件。我看到了很多这些错误的答案,但没有一个真正适合我。以下是代码: PS:很抱歉我的英语不好,我是一名德国学生,这就是为什么所有变量和类的名称都是用德语写的,希望这不是问题:)