簡體   English   中英

如何從Netbeans中的WSDL創建SOAP WS Client(帶有身份驗證)

[英]How to Create SOAP WS Client (with authentication) from WSDL in Netbeans

我必須創建一個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)

我該如何解決這個問題,任何幫助

您可以閱讀以下鏈接: 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

在這里您可以看到如何配置身份驗證之類的安全信息。

最后,您可以在以下鏈接中閱讀有關身份驗證的各種示例: http : //docs.oracle.com/javaee/5/tutorial/doc/bncbx.html

我希望這個回復對您有用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM