我必须创建一个Web服务客户端来使用netbeans中的Web服务。我有该Web服务的WSDL。我需要在客户端进行抢占式身份验证。这是我的客户端代码。
public static void main(String[] args) {
// TODO code application logic here
try
{
FidelioDto fd=G_jar.getInfoFidelioByND("212642098640");
System.out.println(fd.getQualite()+" Get Qualite");
System.out.println(fd.getCodeFidelio()+"Code Fielio");
System.out.println(fd.getDateMaj()+" Get Date");
}
catch(Exception e)
{
e.printStackTrace();
}
}
private static FidelioDto getInfoFidelioByND(java.lang.String nd) throws AppBusinessException_Exception {
ma.iam.wsgold.ws.impl.FidelioWebServiceImplService service = new ma.iam.wsgold.ws.impl.FidelioWebServiceImplService();
ma.iam.wsgold.ws.impl.FidelioWebServiceImpl port = service.getFidelioWebServiceImplPort();
BindingProvider prov = ((BindingProvider)port);
prov.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "ivr_ebou_user");
prov.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "ivr+2014");
return port.getInfoFidelioByND(nd);
}
}
当我在服务器上部署此客户端时。我收到以下错误。
com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: j
ava.net.ConnectException: Connection timed out: connect
at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.get
Output(HttpClientTransport.java:121)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.proce
ss(HttpTransportPipe.java:142)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.proce
ssRequest(HttpTransportPipe.java:83)
at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processReques
t(DeferredTransportPipe.java:105)
at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:587)
at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:546)
at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:531)
at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:428)
at com.sun.xml.internal.ws.client.Stub.process(Stub.java:211)
at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:124
)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMetho
dHandler.java:98)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMetho
dHandler.java:78)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
at $Proxy30.getInfoFidelioByND(Unknown Source)
如何解决此问题,任何帮助
答案 0 :(得分:0)
您可以阅读以下链接: https://netbeans.org/kb/docs/websvc/jax-ws.html
特别是,它提供了一个“消费Web服务”部分,您可以通过以下三种方式开发客户端: 1)您可以在Java SE应用程序中创建Java类; 2)您可以创建JSP文件; 3)你可以创建一个Servlet。
在成瘾中,它出现在这个链接: http://docs.oracle.com/cd/E17802_01/webservices/webservices/interop/reference/tutorials/doc/ClientSecurity3.html
您可以在其中查看如何配置身份验证等安全信息。
最后,您可以在此链接中阅读有关身份验证的variuos示例: http://docs.oracle.com/javaee/5/tutorial/doc/bncbx.html
我希望这个回复对你有用