我正在使用JAX-WS Web服务。我需要编写一个Web服务,公开一个以Object作为参数的方法。因此,调用此Web服务的客户端可以传递任何类型的对象,包括用户定义的类对象。例如:
public String invokeMe(Ojbect obj);
从客户端Web服务:我将我的用户定义的类对象作为参数传递给公开的方法。
Pitta obj = new Pitta(); //Pitta is the name of a class.
例如:
String result = invokeMe(obj);
任何人都可以帮助我。
答案 0 :(得分:1)
您无法创建以JAX-WS
作为参数的java.lang.Object
网络方法。 JAX-WS
基于JAXB
,因此您只能将JAXB
支持的类型作为网络方法参数传递。 java.lang.Object
不是JAXB支持的类型。
我建议创建一个对象,并使其成为可能作为参数传递给Web方法的所有其他对象的父对象。例如:
public class ParentObj {...}
public class WebParam1 extends ParentObj {...}
public class WebParam2 extends ParentObj {...}
public class WebParam3 extends ParentObj {...}
和方法:
public void someMethod(ParentObj obj) {...}
然后,您就可以通过WebParam1
,WebParam2
,WebParam3
。
当然,如果您使用Java-First
方法,请不要忘记注释。如果WSDL-FIRST
:写XSD
代表您的对象。