我用Axis调用webservice ,报出这样一个错误: faultString: 服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。
详细错误如下:
Exception in thread "main" AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
faultSubcode:
faultString: 服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:633)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(XMLNSDocumentScannerImpl.java:719)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1685)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
import java.rmi.RemoteException;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class Test5 {
public static void main(String[] args) throws ServiceException, RemoteException{
System.getProperties().setProperty("http.proxyHost", "proxy1.bj.petrochina");
System.getProperties().setProperty("http.proxyPort", "8080");
String endPoint = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(endPoint);
call.setReturnClass(java.lang.String[].class);
call.addParameter("theCityName", org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.setOperationName("getWeatherbyCityName");
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://WebXml.com.cn/getWeatherbyCityName");
String[] results = (String[]) call.invoke(new Object[]{"58367"});
for(String res : results){
System.out.println("result:"+res);
}
}
}