我正在使用JAX-WS开发Web服务,并在我的一个类中使用Object type字段。我在所有方法中使用该类作为返回值,并希望为所述字段传递任何类型的数据。为了更清楚,我希望能够使用这个类
scala> Json.toJson(Foo("foo", true))
res5: play.api.libs.json.JsValue = {"x":"foo","y":true}
scala> Json.toJson(Foo("foo", 1.toFloat))
res6: play.api.libs.json.JsValue = {"x":"foo","y":1}
scala> Json.toJson(Foo("foo", (1.131313).toFloat))
res7: play.api.libs.json.JsValue = {"x":"foo","y":1.1313129663467407}
scala> Json.toJson(Foo("foo", (1.131313).toDouble))
res8: play.api.libs.json.JsValue = {"x":"foo","y":1.131313}
在这个方法中
class Response{
@XmlElement(name="field1")
String field1;
@XmlElement(name="obj")
Object obj;
}
并允许我的客户使用课程,比如说
@WebMethod(name="myMethod")
Response myMethod(@WebParam(name="arg")Object arg);
表示class ResponseData{
@XmlElement(name="somefield")
String field1;
@XmlElement(name="someotherfield")
String field2;
}
类中的obj
字段。
我未能实现的是将这些类放在WSDL中,而不必创建冗余的WebMethods,将我的类作为对象,如
Response
我在众多论坛(包括SO)上查找了类似的问题,但无法找到合适的解决方案。任何帮助,想法或链接都表示赞赏。