我有
网络服务:
package axis2;
public class Number {
public numb getNumber(numb nr){
return nr;
}
}
班级麻木:
package axis2;
public class numb {
private int val;
public numb(int val)
{
this.val = val;
}
public int getVal() {
return val;
}
public void setVal(int val) {
this.val= val;
}
}
如何作为参数传递给对象服务并返回对象?
package axis2;
import java.rmi.RemoteException;
import axis2.NumberStub.GetNumberResponse;
public class ServiceTest {
public static void main(String[] args) throws RemoteException {
numb nr=new numb(4);
NumberStub stub = new NumberStub();
GetNumberResponse res = stub.getNumber(nr);
System.out.println(res.get_return());
}
}
我收到错误:
The method getNumber(NumberStub.GetNumber) in the type NumberStub is not applicable for the arguments (numb)
当我尝试这个时。
答案 0 :(得分:0)
传递/返回原语要容易得多 - 在您的情况下,传递/返回int
,并在内部使用numb
。即:
public class Number {
public int getNumber(int nr){
numb n = new numb(nr);
// do your thing here...
return n.getVal ( );
}
}
也就是说,如果你真的想要传递对象,可以选择JAXB。基本上,使用JAXB,您可以对XML进行编组/解组对象 - 也就是说,您的服务将接受numb
的XML表示,并返回结果的XML表示。
请注意,您遇到的问题是致电stub.getNumber(nr);
。我收集到您的NumberStub
类没有名为getNumber
的方法,该方法以numb
为参数。