0

我有一个如下所示的 Web 服务界面:

@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface MyWS<T> {    
    @WebMethod Person getRow(int id);

    @WebMethod T insertRow(T a);    
}

真正奇怪的是,该insertRow方法仅在我还有一个返回 Person 的方法时才有效。请注意,我不必使用getRowinsertRow上班。

换句话说:当我从客户端程序仅调用insertRowWeb 服务时,只有当我还有一个getRow返回 Person 的方法时它才有效。如果我getRow从 web 服务中删除,然后再次运行客户端程序,我会得到这个异常:

Exception in thread "main" javax.xml.ws.WebServiceException: javax.xml.bind.MarshalException
 - with linked exception:
[com.sun.istack.internal.SAXException2: class com.myproject.Person nor any of its super class is known to this context.
javax.xml.bind.JAXBException: class com.myproject.Person nor any of its super class is known to this context.]

奇怪啊!

到底是怎么回事?

4

0 回答 0