繁体   English   中英

带基本身份验证的wsdl2java(Axis 1.6.1)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM