Avatar billede forceprogrammer Nybegynder
14. juni 2007 - 08:16

Problem med axis og webservice. IpAddress er null

Hej alle eksperter
Jeg er lige gået i gang med at bruge apaches axis framework til at konsumere webservices. Det er ret smart bygget op synes jeg, men jeg har fået et lille problem.
Jeg bruger eclipse som udviklingsværktøj, og wdsl-filerne som jeg arbejder på kan ses her
https://api.betfair.com/global/v3/BFGlobalService.wsdl
https://api.betfair.com/exchange/v3/BFExchangeService.wsdl

jeg har brugt værktøjet wdsl2java for at generere mine stub-klasser, og prøver nu på at bruge dem.
Jeg prøver på at kalde den service der hedder login, og koden ser således ud:(Et udsnit af java-filen)

public static String login() throws Exception {

        //Set up service calls
        String sServiceName = "login";

        javax.xml.rpc.Service service = ServiceFactory.newInstance().createService(new QName(sServiceName));
        BFGlobalService_BindingStub stub = new BFGlobalService_BindingStub(new URL(_sEndPointURLGlobal), service);

        //Assign login parameters
        LoginReq req = new LoginReq();
        req.setUsername(_sUsername);
        req.setPassword(_sPassword);
        req.setProductId(_sProductID);

        //Make the call
        try {
            LoginResp resp = stub.login(req);
   
            //Check for errors & return result
            if (resp.getErrorCode() == LoginErrorEnum.API_ERROR || resp.getHeader().getErrorCode() != APIErrorEnum.OK)
            {
            return resp.getHeader().getErrorCode().toString();
            }
            else
                if (resp.getErrorCode() != LoginErrorEnum.OK)
                    return resp.getErrorCode().toString();
                else
                {
                    setHeader(resp.getHeader());
                    acctCurrency.setCurrencyCode(resp.getCurrency());
                    return "OK";
                }
           
           
           
        } catch (Exception e) {
            return "Error - " + e.getMessage();           
        }

   
    }


Problemet er så når jeg kører programmet. Så får jeg fejlen:

java.io.IOException: Non nillable element 'ipAddress' is null.

og jeg kan simpelthen ikke gennemskue hvad der gør det. Kan det være nogle problemer med mit lokale netværk evt.?

Herunder er hele stacktrace som det bliver printet:
På forhånd mange tak for hjælpen.

- Exception:
java.io.IOException: Non nillable element 'ipAddress' is null.
    at org.apache.axis.encoding.ser.BeanSerializer.serialize(BeanSerializer.java:228)
    at org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1518)
    at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:994)
    at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:815)
    at org.apache.axis.message.RPCParam.serialize(RPCParam.java:208)
    at org.apache.axis.message.RPCElement.outputImpl(RPCElement.java:433)
    at org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
    at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:139)
    at org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:478)
    at org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
    at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:314)
    at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:268)
    at org.apache.axis.SOAPPart.saveChanges(SOAPPart.java:529)
    at org.apache.axis.attachments.AttachmentsImpl.getAttachmentCount(AttachmentsImpl.java:554)
    at org.apache.axis.Message.getContentType(Message.java:486)
    at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:343)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    at org.apache.axis.client.AxisClient.invokeTransport(AxisClient.java:150)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:289)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2838)
    at org.apache.axis.client.Call.invoke(Call.java:2824)
    at org.apache.axis.client.Call.invoke(Call.java:2501)
    at org.apache.axis.client.Call.invoke(Call.java:2424)
    at org.apache.axis.client.Call.invoke(Call.java:1835)
    at com.betfair.www.publicapi.v3.BFGlobalService.BFGlobalService_BindingStub.login(BFGlobalService_BindingStub.java:1301)
    at bsdBetting.General.login(General.java:449)
    at bsdBetting.General.main(General.java:131)
- Exception:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.io.IOException: java.io.IOException: Non nillable element 'ipAddress' is null.
faultActor:
faultNode:
faultDetail:
    {http://xml.apache.org/axis/}stackTrace:java.io.IOException: java.io.IOException: Non nillable element 'ipAddress' is null.
    at org.apache.axis.encoding.ser.BeanSerializer.serialize(BeanSerializer.java:288)
    at org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1518)
    at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:994)
    at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:815)
    at org.apache.axis.message.RPCParam.serialize(RPCParam.java:208)
    at org.apache.axis.message.RPCElement.outputImpl(RPCElement.java:433)
    at org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
    at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:139)
    at org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:478)
    at org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
    at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:314)
    at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:268)
    at org.apache.axis.SOAPPart.saveChanges(SOAPPart.java:529)
    at org.apache.axis.attachments.AttachmentsImpl.getAttachmentCount(AttachmentsImpl.java:554)
    at org.apache.axis.Message.getContentType(Message.java:486)
    at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:343)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    at org.apache.axis.client.AxisClient.invokeTransport(AxisClient.java:150)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:289)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2838)
    at org.apache.axis.client.Call.invoke(Call.java:2824)
    at org.apache.axis.client.Call.invoke(Call.java:2501)
    at org.apache.axis.client.Call.invoke(Call.java:2424)
    at org.apache.axis.client.Call.invoke(Call.java:1835)
    at com.betfair.www.publicapi.v3.BFGlobalService.BFGlobalService_BindingStub.login(BFGlobalService_BindingStub.java:1301)
    at bsdBetting.General.login(General.java:449)
    at bsdBetting.General.main(General.java:131)

    {http://xml.apache.org/axis/}hostname:LENOVO-03428958

java.io.IOException: java.io.IOException: Non nillable element 'ipAddress' is null.
    at org.apache.axis.AxisFault.makeFault(AxisFault.java:104)
    at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:316)
    at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:268)
    at org.apache.axis.SOAPPart.saveChanges(SOAPPart.java:529)
    at org.apache.axis.attachments.AttachmentsImpl.getAttachmentCount(AttachmentsImpl.java:554)
    at org.apache.axis.Message.getContentType(Message.java:486)
    at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:343)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    at org.apache.axis.client.AxisClient.invokeTransport(AxisClient.java:150)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:289)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2838)
    at org.apache.axis.client.Call.invoke(Call.java:2824)
    at org.apache.axis.client.Call.invoke(Call.java:2501)
    at org.apache.axis.client.Call.invoke(Call.java:2424)
    at org.apache.axis.client.Call.invoke(Call.java:1835)
    at com.betfair.www.publicapi.v3.BFGlobalService.BFGlobalService_BindingStub.login(BFGlobalService_BindingStub.java:1301)
    at bsdBetting.General.login(General.java:449)
    at bsdBetting.General.main(General.java:131)
Caused by: java.io.IOException: java.io.IOException: Non nillable element 'ipAddress' is null.
    at org.apache.axis.encoding.ser.BeanSerializer.serialize(BeanSerializer.java:288)
    at org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1518)
    at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:994)
    at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:815)
    at org.apache.axis.message.RPCParam.serialize(RPCParam.java:208)
    at org.apache.axis.message.RPCElement.outputImpl(RPCElement.java:433)
    at org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
    at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:139)
    at org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:478)
    at org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
    at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:314)
    ... 19 more
- Exception:
java.io.IOException: Non nillable element 'ipAddress' is null.
    at org.apache.axis.encoding.ser.BeanSerializer.serialize(BeanSerializer.java:228)
    at org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1518)
    at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:994)
    at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:815)
    at org.apache.axis.message.RPCParam.serialize(RPCParam.java:208)
    at org.apache.axis.message.RPCElement.outputImpl(RPCElement.java:433)
    at org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
    at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:139)
    at org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:478)
    at org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
    at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:314)
    at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:268)
    at org.apache.axis.SOAPPart.saveChanges(SOAPPart.java:529)
    at org.apache.axis.SOAPPart.getContentLength(SOAPPart.java:228)
    at org.apache.axis.Message.getContentLength(Message.java:510)
    at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:371)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    at org.apache.axis.client.AxisClient.invokeTransport(AxisClient.java:150)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:289)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2838)
    at org.apache.axis.client.Call.invoke(Call.java:2824)
    at org.apache.axis.client.Call.invoke(Call.java:2501)
    at org.apache.axis.client.Call.invoke(Call.java:2424)
    at org.apache.axis.client.Call.invoke(Call.java:1835)
    at com.betfair.www.publicapi.v3.BFGlobalService.BFGlobalService_BindingStub.login(BFGlobalService_BindingStub.java:1301)
    at bsdBetting.General.login(General.java:449)
    at bsdBetting.General.main(General.java:131)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester