我正在使用wsdl2java爲Web服務生成我的java存根代碼。帶有基本身份驗證的wsdl2java(Axis 1.6.1)
我知道自從1.4版本以來一直存在一個缺陷,即無法訪問需要HTTP基本身份驗證的wsdl源代碼。您將收到401錯誤,因爲授權被拒絕並且無法指定憑證。
有誰知道這個問題是否已經解決或者有人爲此做了一個解決方法?我可以設置一個proxyy服務器可能,但是這對我來說太麻煩,我正在尋找一些簡單的:)
我正在使用wsdl2java爲Web服務生成我的java存根代碼。帶有基本身份驗證的wsdl2java(Axis 1.6.1)
我知道自從1.4版本以來一直存在一個缺陷,即無法訪問需要HTTP基本身份驗證的wsdl源代碼。您將收到401錯誤,因爲授權被拒絕並且無法指定憑證。
有誰知道這個問題是否已經解決或者有人爲此做了一個解決方法?我可以設置一個proxyy服務器可能,但是這對我來說太麻煩,我正在尋找一些簡單的:)
,你可以爲這個
...
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指向我的本地副本。
我面臨與您同樣的問題。你有沒有嘗試過stub.setUsername()和stub.setPassword()? –
是的,在使用web服務時工作。我的問題是我在maven中調用wsdl2java目標,我不知道如何在這裏指定憑據。 – Erik
我找到了我的問題的解決方案。這是在IIS上啓用基本身份驗證。請爲您的問題嘗試。 –