【发布时间】:2018-08-20 20:30:12
【问题描述】:
我只是试图通过 java 程序调用 Tibco Spotfire UpdateAnalysisService Web 服务并在执行时出现以下错误:-
Exception in thread "main" com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 403: null
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.checkStatusCode(HttpTransportPipe.java:310)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.createResponsePacket(HttpTransportPipe.java:259)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:217)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:130)
at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:95)
at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:1121)
at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:1035)
at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:1004)
at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:862)
at com.sun.xml.internal.ws.client.Stub.process(Stub.java:448)
at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:178)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:93)
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.loadAnalysis(Unknown Source)
at com.nielsen.spotfire.TestServices.main(TestServices.java:49)
编码器参考来自:- https://community.tibco.com/wiki/calling-tibco-spotfire-updateanalysisservice-web-service
实际代码:-
public class TestServices {
public static void main(String[] args) {
try {
Authenticator myAuth = new Authenticator()
{
@Override
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication("<user>", "<password>".toCharArray());
}
};
Authenticator.setDefault(myAuth);
UpdateAnalysisServiceImplService test = new UpdateAnalysisServiceImplService(new URL("http://server:<port>/spotfire/ws/pub/UpdateAnalysisService?wsdl"));
UpdateAnalysis ua = new UpdateAnalysis();
ua.setPath("/TAM Local Ops Dashboard/DEV/API POC/ANALYSIS_RPD_DATA2");
test.getUpdateAnalysisServiceImplPort().loadAnalysis(ua);
} catch (MalformedURLException | UpdateAnalysisServiceException e) {
e.printStackTrace();
}
}
}
谁能帮忙告诉我为什么会出现这个错误。
谢谢, 阿西什
【问题讨论】: