Java Web服务调用的HTTP基本身份验证

Java Web服务调用的HTTP基本身份验证,java,axis2,basic-authentication,webservice-client,Java,Axis2,Basic Authentication,Webservice Client,我试图调用一个具有基本HTTP身份验证的web服务。我使用AXIS的WSDL2JAVA工具生成了客户机代码 但是我无法设置webservice调用的用户名和密码 我尝试将它们作为一个端点url 但是我得到了这个未经授权的错误。我正试图找出一种方法,在Java代码中将此集合添加到我的调用中 注意:我能够通过soapUI调用相同的服务并获得结果。我在请求的“Aut”选项卡中提供了用户名和密码 这里是我的存根的一些代码片段,如果这对您有用的话 _serviceClient = new

我试图调用一个具有基本HTTP身份验证的web服务。我使用AXIS的WSDL2JAVA工具生成了客户机代码

但是我无法设置webservice调用的用户名和密码

我尝试将它们作为一个端点url

但是我得到了这个未经授权的错误。我正试图找出一种方法,在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);

如有任何意见,我们将不胜感激

谢谢!这起作用了。通过_serviceClient.getOptions().setProperty(org.apache.axis2.transport.http.HTTPConstants.AUTHENTICATE,auth),我只找到了这个;有人知道为什么不能将凭据放入问题中所示的端点url吗?你可以用ApacheHttpClient来做,我猜Axis在幕后使用它。。。
 HttpTransportProperties.Authenticator
                       auth = new HttpTransportProperties.Authenticator();
            auth.setUsername("username");
            auth.setPassword("password");

 _serviceClient.getOptions().setProperty(org.apache.axis2.transport.http.HTTPConstants.BASIC_AUTHENTICATE,auth);