WEBService 调用的 HTTP 基本身份验证

发布于 2024-09-16 07:43:17 字数 1128 浏览 8 评论 0原文

我尝试调用具有基本 HTTP 身份验证的 Web 服务。我使用 AXIS 的 WSDL2JAVA 工具生成了客户端代码。

但我无法设置 Web 服务调用的用户名和密码。

我尝试将它们放在端点 url 中

http://用户名:password@somwserver/wsdl

但我收到了未经授权的错误。我正在尝试找出一种方法来将此设置添加到我在 Java 代码中的调用中......

注意:我可以通过soapUI 调用相同的服务并获取结果。我在请求的“Aut”选项卡中提供了用户名和密码。

这是我的存根的一些代码片段,如果这对您有用,

       _serviceClient = new org.apache.axis2.client.ServiceClient(configurationContext,_service);


    _serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(
            targetEndpoint));
    _serviceClient.getOptions().setUseSeparateListener(useSeparateListener);

        //adding SOAP soap_headers
     _serviceClient.addHeadersToEnvelope(env);
    // set the message context with that soap envelope
    _messageContext.setEnvelope(env);

    // add the message contxt to the operation client
    _operationClient.addMessageContext(_messageContext);

    //execute the operation client
    _operationClient.execute(true);

任何输入将不胜感激!

I trying to invoke a web service, which has an Basic HTTP Authentication. I generated the client code using the WSDL2JAVA tool from AXIS.

But I am not able to set the username and password to the webservice call.

I tried to have them in the endpoint url as

http://username:password@somwserver/wsdl

But I am getting the unauthorized error for this. I am trying to figure out a way to get this set to my call in the Java code....

Note : I am able to invoke the same service via the soapUI and get the results. I provided the username and password in the "Aut" tab on the request.

Here is some of the code snippets of my Stub, if this is userful for you

       _serviceClient = new org.apache.axis2.client.ServiceClient(configurationContext,_service);


    _serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(
            targetEndpoint));
    _serviceClient.getOptions().setUseSeparateListener(useSeparateListener);

        //adding SOAP soap_headers
     _serviceClient.addHeadersToEnvelope(env);
    // set the message context with that soap envelope
    _messageContext.setEnvelope(env);

    // add the message contxt to the operation client
    _operationClient.addMessageContext(_messageContext);

    //execute the operation client
    _operationClient.execute(true);

Any inputs will be greatly appreciated!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

落叶缤纷 2024-09-23 07:43:17
 HttpTransportProperties.Authenticator
                       auth = new HttpTransportProperties.Authenticator();
            auth.setUsername("username");
            auth.setPassword("password");

 _serviceClient.getOptions().setProperty(org.apache.axis2.transport.http.HTTPConstants.BASIC_AUTHENTICATE,auth);
 HttpTransportProperties.Authenticator
                       auth = new HttpTransportProperties.Authenticator();
            auth.setUsername("username");
            auth.setPassword("password");

 _serviceClient.getOptions().setProperty(org.apache.axis2.transport.http.HTTPConstants.BASIC_AUTHENTICATE,auth);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文