manjosh
manjosh

Reputation: 724

Object reference not set to an instance of an object execption while running a code

I was trying out an soap weservice example. The code uses GeoIp webservice to determine the country from an ip address. When I am executing the code, I am getting the below exception.

exception:

Exception in thread "main" com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at WebserviceX.Service.Adapter.IPAdapter.CheckIP(String IP)
at WebserviceX.Service.GeoIPService.GetGeoIP(String IPAddress)
--- End of inner exception stack trace --- Please see the server log to find more detail regarding exact cause of the failure.
    at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
    at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:116)
    at com.sun.xml.internal.ws.client.sei.StubHandler.readResponse(StubHandler.java:238)
    at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:189)
    at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:276)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:104)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:77)
    at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:147)
    at com.sun.proxy.$Proxy31.getGeoIP(Unknown Source)
    at org.manjosh.demo.IPlocationFinder.main(IPlocationFinder.java:19)

My code:

import net.webservicex.GeoIP;
import net.webservicex.GeoIPService;
import net.webservicex.GeoIPServiceSoap;

public class IPlocationFinder {

    public static void main(String[] args) {

        if (args.length != 1){
            System.out.println("you need to pass atleast 1 IP address");
        }
        else
        {
            String ipAddress = args[0];
            GeoIPService ipService = new GeoIPService();
            GeoIPServiceSoap geoIpserviceSoap = ipService.getGeoIPServiceSoap();
            GeoIP geoIp = geoIpserviceSoap.getGeoIP(ipAddress);
            System.out.println((String)geoIp.getCountryName());
        }
    }

}   

Upvotes: 0

Views: 585

Answers (1)

Ashutosh Jha
Ashutosh Jha

Reputation: 1513

Use soapui create xml and send request, if you get response in sopui first. Then check xml that you are sending as request contains all fields and matches one in soapui request.

Upvotes: 1

Related Questions