我希望使用SOAP Web服务,该服务需要将对象作为参数传递,例如
<cfset someVariable = createObject("webservice", "http://www.example.com/webservice")>
哪个方法
someMethod(org.example.schemas._2004._07.example_api_objects.Example)
Example
是一个包含许多属性,方法等的复杂对象。我可以访问Example
中与ColdFusion10\cfusion\stubs\WS403970439_1\org\example\schemas._2004._07.example_api_objects
相关的相关存根文件,并发现如果添加到<cfset someExample = CreateObject("java", "org.example.schemas._2004._07.example_api_objects.Exampler").init()>
<cfset someVariable.someMethod(someExample)>
我可以使用以下类路径:
{{1}}
我确信我应该能够直接通过ColdFusion创建someExample对象,而无需将相关的存根文件添加到类路径中,但我无法做到这一点 - 是否有人知道这可能是怎么回事?
答案 0 :(得分:1)
<cfset someExample = someVariable.getClass().getClassLoader().loadClass('org.example.schemas._2004._07.example_api_objects.Example').newInstance() />
然后只需使用someExample对象上的setter和getter来设置值......
另一种方式做得不够健壮。如果wsdl改变怎么办?