在ColdFusion的WSDL上使用wscompile创建BlackBerry方法存根
我一直在研究从ColdFusion 7中使用Web服务的BlackBerry应用程序。Java ME SDK和Java Wireless Toolkit都要求生成的WSDL是文档/文字类型。
幸运的是,我已经对Web服务开发进行了投入,所以我尝试在cfcomponent标记中设置'style =“document”'。 这生成了一个文档/字面风格的WSDL,但现在wscompile在几个地方生成了以下错误:
发现未知简单类型:javax.xml.soap.SOAPElement发现未知简单类型:java.util.Calendar
任何想法为什么发生这种情况?
WSDL确实可以通过JWSDP工具正确解析,但存根使用的命名空间在J2ME平台中不可用。 我原以为ColdFusion WSDL可以更容易地与Java家族中的其他产品一起工作。
如果服务变化不大(因此WSDL不会有太大变化),您可以将WSDL另存为文本文件,然后根据需要对其进行修改。 我的建议 - 再次假设服务或多或少已定型 - 将从cfcomponent
标记中取出样式声明并生成WSDL,然后将其保存为纯文本文件并根据需要对其进行修改以供其使用黑莓应用程序。
事实证明,问题与导致问题的方法参数和返回类型的数据类型有关。 WSDL是有效的,J2SE的wscompile版本能够正确解析它。 但由于移动平台上的API功能降低,某些数据类型无法使用J2ME版本的wscompile进行分析。
我确实需要在ColdFusion Web服务的cfcomponent标记中保留'style =“document”'声明,因为J2ME的存根生成器将仅解析文档/文字类型的WSDL文件。
http://developers.sun.com/mobility/midp/articles/webservices/提供了JAX-RPC for Java ME支持的数据类型的参考。
链接地址: http://www.djcxy.com/p/60541.html上一篇: Creating BlackBerry method stubs using wscompile on WSDL from ColdFusion
下一篇: Touch events for Safari desktop templates on Dashcode for iPad