我正在使用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上启用基本身份验证。请为您的问题尝试。 –