У меня есть 2 веб-службы, объявленные в 2 разных пакетах в Java
package com.HelloWorld
@WebService(targetNamespace="http://www.example.com/Hello")
@SOAPBinding(parameterStyle = ParameterStyle.WRAPPED, style = Style.DOCUMENT, use = Use.LITERAL)
{
public class Hello
{
@WebMethod
@WebResult(name="SayHelloResult", targetNamespace="http://www.example.com/Hello")
Public HelloData SayHello()
{
HelloData data = new HelloData();
// Some work
return data;
}
}
}
package com.HelloWorld2
@WebService(targetNamespace="http://www.example.com/Hello2")
@SOAPBinding(parameterStyle = ParameterStyle.WRAPPED, style = Style.DOCUMENT, use = Use.LITERAL)
{
public class Hello2
{
@WebMethod
@WebResult(name="SayHelloResult", targetNamespace="http://www.example.com/Hello2")
Public HelloData SayHello2()
{
com.Hello helloObject = new com.Hello.HelloWorld();
com.Hello.HelloObject helloData= helloObject.SayHello();
// need to clone helloData to com.HellowWorld2 type object
// return a com.HelloWorld2.HelloData object
}
}
}
Как показано в приведенном выше примере, вызов SayHello2 перенаправляет вызов другому веб-методу. Хотя HelloData в обоих пакетах похожи, они определены в разных пространствах имен. Как я могу сделать глубокое копирование из одного объекта в другой?