我需要在我的ws客户端中覆盖类存根中的方法。问题是这个类(和其他)是自动生成的(Eclipse使用wsdl文件)。
所以,我不想直接在类存根中重写方法
可以做一个"包装"或"注入"基于此方法的此类中的方法 或者可以"处理"调用对象并在调用之前修改它?
public com.www.data.GetTripRecordResponseTypeTripRecordReport[] getTripRecord(com.www.data.GetTripRecordRequestType getTripRecordRequest/*,String address*/) throws java.rmi.RemoteException {
if (super.cachedEndpoint == null) {
throw new org.apache.axis.NoEndPointException();
}
org.apache.axis.client.Call _call = createCall();
_call.setOperation(_operations[1]);
_call.setUseSOAPAction(true);
_call.setSOAPActionURI("getTripRecord");
_call.setEncodingStyle(null);
_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
_call.setOperationName(new javax.xml.namespace.QName("http://localhost/data", "getTripRecord"));
// Code to inject before invocating the _call object
if(address != null)
{
Transport trans = _call.getTransportForProtocol("http");
trans.setUrl(address);
_call.setTransport(trans);
}
try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {getTripRecordRequest});
答案 0 :(得分:0)
您可以扩展该类并覆盖该方法。更好的方法是尝试从现有方法中获取结果,然后尝试在代码中处理它。