WS client returns null, why?
sancheski Apr 24, 2008 7:00 AMHi all,
I am facing a problem when getting the response from a ws invocation. As far as I see through org.jboss.ws.core.MessageTrace logger, the ws server returns a valid response. I don't know why, this response turns to a null one in my client. Here are the log traces:
2008-04-24 12:33:18,838 TRACE [org.jboss.ws.core.MessageTrace] Incoming Request Message <soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'> <soapenv:Header> <ns1:Security ns1:Password='app:1272268494445808129' ns1:UserName='domain_user' soapenv:actor='wsse:PasswordToken' soapenv:mustUnderstand='1' xmlns:ns1='http://172.22.191.143:8080/parlayx2/services/TerminalLocation' xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/' xsi:type='soapenc:string'/> </soapenv:Header> <soapenv:Body> <getLocation xmlns='http://www.csapi.org/schema/parlayx/terminal_location/v2_2/local'> <address>tel:34609214237</address> <requestedAccuracy>2000</requestedAccuracy> <acceptableAccuracy>4000</acceptableAccuracy> <maximumAge> <metric xmlns=''>Hour</metric> <units xmlns=''>1</units> </maximumAge> <responseTime xmlns='http://www.csapi.org/schema/parlayx/terminal_location/v2_2/local'> <metric xmlns=''>Minute</metric> <units xmlns=''>1</units> </responseTime> <tolerance xmlns='http://www.csapi.org/schema/parlayx/terminal_location/v2_2/local'>DelayTolerant</tolerance> </getLocation> </soapenv:Body> </soapenv:Envelope> 2008-04-24 12:33:18,947 WARN [org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl] Cannot get port meta data for: {http://www.csapi.org/wsdl/parlayx/terminal_location/v2_2/service}TerminalLocation 2008-04-24 12:33:19,229 TRACE [org.jboss.ws.core.MessageTrace] Outgoing Request Message <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'> <env:Header/> <env:Body> <ns2:getLocation xmlns:ns2='http://www.csapi.org/schema/parlayx/terminal_location/v2_2/local'> <ns2:address>609214237</ns2:address> <ns2:requestedAccuracy>2000</ns2:requestedAccuracy> <ns2:acceptableAccuracy>4000</ns2:acceptableAccuracy> <ns2:maximumAge> <metric>Hour</metric> <units>1</units> </ns2:maximumAge> <ns2:responseTime> <metric>Minute</metric> <units>1</units> </ns2:responseTime> <ns2:tolerance>DelayTolerant</ns2:tolerance> </ns2:getLocation> </env:Body> </env:Envelope> 2008-04-24 12:33:19,229 TRACE [org.jboss.ws.core.MessageTrace] Incoming Response Message <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'> <env:Header/> <env:Body> <ns2:getLocationResponse xmlns:ns2='http://www.csapi.org/schema/parlayx/terminal_location/v2_2/local'> <return> <latitude>0.1</latitude> <longitude>0.1</longitude> <accuracy>3</accuracy> </return> </ns2:getLocationResponse> </env:Body> </env:Envelope> 2008-04-24 12:33:19,275 TRACE [org.jboss.ws.core.MessageTrace] Outgoing Response Message <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'> <env:Header/> <env:Body> <ns2:getLocationResponse xmlns:ns2='http://www.csapi.org/schema/parlayx/terminal_location/v2_2/local'/> </env:Body> </env:Envelope>
My ws client implementation is:
protected Object callWebService(ExecutionContext ctx) throws Exception { QName qname = new QName( "http://www.csapi.org/wsdl/parlayx/terminal_location/v2_2/service", "TerminalLocationService"); TerminalLocationService service = new TerminalLocationService(null, qname); TerminalLocation stub = (TerminalLocation) service.getTerminalLocation(); configureStub(ctx, (javax.xml.ws.BindingProvider) stub); return stub.getLocation((java.lang.String) getAddress(ctx), (int) getRequestedAccuracy(ctx), (int) getAcceptableAccuracy(ctx), (TimeMetric) getMaximumAge(ctx), (TimeMetric) getResponseTime(ctx), (DelayTolerance) getTolerance(ctx)); }
Does anyone know what is going on behind the scenes? What am I doing wrong?
Thanks a lot!