从ColdFusion在WSDL上使用wscompile创建BlackBerry方法存根

从ColdFusion在WSDL上使用wscompile创建BlackBerry方法存根,blackberry,coldfusion,wsdl,stub,Blackberry,Coldfusion,Wsdl,Stub,我一直在开发一个黑莓应用程序,它使用ColdFusion 7的web服务。JavaMeSDK和JavaWireless工具包都要求生成的WSDL为document/literal类型 幸运的是,我在web服务开发中有输入,所以我尝试在cfcomponent标记中设置“style=”document“。这生成了文档/文字样式的WSDL,但现在wscompile在几个地方生成了以下错误: 找到未知的简单类型:javax.xml.soap.SOAPElement 找到未知的简单类型:java.util

我一直在开发一个黑莓应用程序,它使用ColdFusion 7的web服务。JavaMeSDK和JavaWireless工具包都要求生成的WSDL为document/literal类型

幸运的是,我在web服务开发中有输入,所以我尝试在cfcomponent标记中设置“style=”document“。这生成了文档/文字样式的WSDL,但现在wscompile在几个地方生成了以下错误:

找到未知的简单类型:javax.xml.soap.SOAPElement 找到未知的简单类型:java.util.Calendar

知道为什么会这样吗


JWSDP工具确实正确解析了WSDL,但是存根使用了J2ME平台中不可用的名称空间。我原以为ColdFusion WSDL可以更容易地与Java系列中的其他产品配合使用。

如果服务没有太大变化(因此WSDL不会有太大变化),您可以将WSDL保存为文本文件,并根据需要对其进行修改。我的建议——再次假设服务或多或少已经完成——是将样式声明从
cfcomponent
标记中去掉,并生成WSDL,然后将其保存为纯文本文件,并根据需要对其进行修改以供BlackBerry应用程序使用。

结果表明,问题与导致问题的方法参数和返回类型的数据类型有关。WSDL是有效的,wscompile for J2SE版本能够正确解析它。但由于移动平台上API功能的降低,某些数据类型无法使用wscompile的J2ME版本进行解析

我确实需要在ColdFusion web服务的cfcomponent标记中保留'style=“document”'声明,因为J2ME的存根生成器将只解析文档/文本类型的WSDL文件


提供JAX-RPC for Java ME中支持的数据类型的参考。

我确实尝试过这样做。在手动更改样式和使用类型之后,它仍然有各种各样的错误,我不确定需要更改多少才能使其正常工作,因此我放弃了该计划。无论如何,我不确定这是一个可行的长期解决方案。