[英]wsdl2java with Basic Authentication (Axis 1.6.1)
我正在使用wsdl2java為Web服務生成我的java存根代碼。
我知道自1.4以來一直是一個錯誤,無法訪問需要HTTP基本身份驗證的wsdl源。 您將收到401錯誤,因為授權被拒絕且無法指定憑據。
有誰知道這個問題是否已經解決或有人為此解決? 我可能會設置一個代理服務器,但這對我來說太麻煩了,我正在尋求簡單的東西:)
你可以試試這個
...
serviceStub = new TestBeanServiceStub("<WEB SERVICE URL>"); // Set your value
HttpTransportProperties.Authenticator basicAuthenticator = new HttpTransportProperties.Authenticator();
List<String> authSchemes = new ArrayList<String>();
authSchemes.add(Authenticator.BASIC);
basicAuthenticator.setAuthSchemes(authSchemes);
basicAuthenticator.setUsername("<UserName>"); // Set your value
basicAuthenticator.setPassword("<Password>"); // Set your value
basicAuthenticator.setPreemptiveAuthentication(true);
serviceStub._getServiceClient().getOptions().setProperty(org.apache.axis2.transport.http.HTTPConstants.AUTHENTICATE, basicAuthenticator);
serviceStub._getServiceClient().getOptions().setProperty(org.apache.axis2.transport.http.HTTPConstants.CHUNKED, "false");
...
作為一種解決方法,我手動下載了wsdl文件(使用我的瀏覽器)並將其與我的代碼一起保存,並將wsdl2java指向我的本地副本。
您可以在URL中傳遞用戶名和密碼,如下所示: http:// username:password@example.com/wsdl它適用於我的軸:1.7.9
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.