尝试调用远程Web服务时出现此异常... 奇怪 - 因为我们只在Glassfish 2.1 / 3.1环境中有这个例外...... 当我从命令行启动代码(JDK 1.6.0_16-b01)一切正常!所以看起来是一个Glassfish问题
有什么想法吗?
任务执行失败com.sun.xml.ws.client.ClientTransportException: HTTP传输错误:java.lang.ClassCastException:java.lang.String 无法强制转换为java.lang.Integer 在com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:131) 在com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:219) 在com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:143) at com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:139) 在com.sun.xml.ws.api.pipe.Fiber .__ doRun(Fiber.java:961) 在com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:910) 在com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:873) 在com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:775) 在com.sun.xml.ws.client.Stub.process(Stub.java:429) 在com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:168) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:102) 在com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:151) 在$ Proxy317.zapCableDevice(未知来源) 在com.dob.ns.service.ZAPService.authorizeSTB(ZAPService.java:128) 在com.dob.ns.service.ZAPService.process(ZAPService.java:91) 在com.dob.ns.core.DOBProcessDescriptor $ DOBServiceExecutor.run(DOBProcessDescriptor.java:269) at java.lang.Thread.run(Thread.java:619)引起:java.lang.ClassCastException:java.lang.String无法强制转换为 为java.lang.Integer at com.sun.xml.ws.transport.http.client.HttpClientTransport.createHttpConnection(HttpClientTransport.java:287) 在com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:116)
......还有17个
仅在代码调用内部部署EAR
时出现问题 RequestData req = new RequestData();
String MacAddress = ServiceUtils.formatMac(mac);
req.setClientSystemId(CLIENT_SYSTEM_ID);
req.setMacAddress(MacAddress);
req.setSerialNumber(SerialNumber);
CableDevicesServicesSoap dev = service.getCableDevicesServicesSoap();
ZapCableDeviceRequest request = new ZapCableDeviceRequest();
request.setRequestData(req);
request.setTransactionId(transactionId);
ZapCableDeviceResponse answer = dev.zapCableDevice(request);
所有参数均为字符串类型
答案 0 :(得分:0)
我得到了同样的错误。我花了几个小时来解决这个问题。我使用了错误的BindingProviderProperties接口。
BindingProviderProperties接口存在于两个不同的包中。 (适用于不同的Java / JAX-WS版本)
如果您收到ClassCastException,则很可能需要在soap服务类中导入不同的包。
更改
import com.sun.xml.ws.client.BindingProviderProperties;
到
import com.sun.xml.internal.ws.client.BindingProviderProperties;