如何在 ColdFusion 中指定整数作为属性或参数类型?

发布于 2024-12-13 21:02:31 字数 273 浏览 1 评论 0 原文

我正在 ColdFusion 8 中使用带有远程方法的 CFC 构建 Web 服务。我需要在 WSDL 中指定复杂的数据类型,因此我为每种类型创建 CFC。例如,假设我有一个“Person”类型。它包括“年龄”属性。该属性必须始终是整数。但是,ColdFusion 没有“整数”作为有效类型 - 只有数字,它在 WSDL 中转换为“xsd:double”。如何指定属性(或参数)具有“整数”类型?

仅供参考,亨利的回答非常有帮助,但我试图从函数返回一个对象 - 而不仅仅是一个整数。我需要将其中一个属性作为整数返回。

I'm building a WebService in ColdFusion 8 using CFCs with remote methods. I need to specify complex data types in the WSDL, so I'm creating CFCs for each of these types. For instance, let's say I have a "Person" type. It includes an "age" property. This property needs to always be an integer. However, ColdFusion does not have "integer" as a valid type - only Numeric, which translates to "xsd:double" in the WSDL. How can specify that a property - or an argument, for that matter - has a type of "integer"?

FYI, Henry's answer is very helpful, but I'm trying to return an Object from the function - not just an integer. I need one of the properties to be returned as an integer.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

没有你我更好 2024-12-20 21:02:31
  1. 编写您自己的 WSDL。通过将浏览器指向 http://mysite/mypath/myCFC.cfc 保存 CFC 并捕获 RPC 生成的 WSDL ?WSDL
    获取源代码,或清理浏览器添加的所有 - 内容。制作
    确保 版本标记之前没有空格。
    找到响应消息中的xsd:double并将其更改为xsd:int

  2. 在组件中指定 WSDL。添加带有文件名的 wsdlfile="mywsdl.wsdl" 属性,并添加属性 style="document"
    这是用户定义的 WSDL 所必需的。

  3. 将 Web 服务绑定到 WSDL ColdFusion 会自动执行此操作 - 但它会缓存它们。当WSDL发生变化时,需要重新启动服务或进入CF中的“数据与服务->Web服务”
    管理并刷新服务。

  4. 更改您的 cffunction 以返回 "Any" 而不是 "Numeric"

  5. 在 cfreturn 中,实例化一个 Java Integer
    >>



http://www. Threesources.com/archives/009007.html

  1. Write your own WSDL. Save your CFC and capture the RPC generated WSDL by pointing your browser at http://mysite/mypath/myCFC.cfc?WSDL
    Grab the source, or clean up all the - added by your browser. Make
    sure there is no white space before the <?xml version tag.
    Find the xsd:double in the Response message and change it to xsd:int.

  2. Specify the WSDL in your component. Add the wsdlfile="mywsdl.wsdl" attribute with the filename and add the attribute style="document"
    which is required for user-defined WSDLs.

  3. Bind the webservice to the WSDL ColdFusion does this automatically -- but it caches them. When a WSDL changes, you need to restart the service or go to "Data & Services -> Web Services" in CF
    Administration and refresh the service.

  4. Change your cffunction to return "Any" instead of "Numeric"

  5. In your cfreturn, instantiate a Java Integer <cfreturn createObject("java","java.lang.Integer").init(JavaCast("int",myvalue))
    />

http://www.threesources.com/archives/009007.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文