title: javax.xml.ws.WebServiceException: Failed to access the WSDL. Response: '401: Unauthorized'
body: <p>I am trying to access a web service for a project i'm working on. I'm using JAX-WS and the app is deployed on weblogic. When i'm trying to access the WS, i get the following exception:</p>
  
  <pre><code>javax.portlet.PortletException: javax.xml.ws.WebServiceException: Failed to access the WSDL at: http://xxx.xxxx.ro:40000/idm/ws/cup?wsdl. It failed with: 
  Response: '401: Unauthorized' for url: 'http://xxx.xxxx.ro:40000/idm/ws/cup?wsdl'.
  at com.bea.portlet.container.PortletStub.processAction(PortletStub.java:346)
  at com.bea.portlet.container.AppContainer.invokeProcessAction(AppContainer.java:678)
  ........
  </code></pre>
  
  <p>I read through a lot of posts regarding issue and i tried different types of auth. I tried to use BindingProvider, basicHTTPAuth in different usecases, disable HostnameVerifier etc. but still with no result.</p>
  
  <p>Below is a snippet of my code, as the last tried version:</p>
  
  <pre><code>Authenticator.setDefault(new Authenticator() {
                      @Override
                      protected PasswordAuthentication getPasswordAuthentication() {
                          return new PasswordAuthentication(
                              username,
                              password.toCharArray());
                      }
                  });
  
  
      ComputeUserProfileImplService computeUserProfileImplService = new ComputeUserProfileImplService(
      new URL(null, endpointURL, new sun.net.www.protocol.http.Handler()),
      new QName("http://xxx.xx.xxxxx.xxxxx.com/",
              "ComputeUserProfileImplService"));
      ComputeUserProfileImpl computeUserProfile = computeUserProfileImplService
      .getComputeUserProfileImplPort();
  </code></pre>
  
  <p>The ComputeUserProfileImplService code looks like :</p>
  
  <pre><code>private final static URL COMPUTEUSERPROFILEIMPLSERVICE_WSDL_LOCATION;
  private final static Logger logger = Logger.getLogger(com.xxxxx.xxxxx.xx.xxxxx.cup.ComputeUserProfileImplService.class.getName());
  
  static {
      URL url = null;
      try {
          URL baseUrl;
          baseUrl = com.xxxxx.xxxxx.xx.xxxxx.xxx.ComputeUserProfileImplService.class.getResource("");
          url = new URL(baseUrl, "http://xxxx.xxxxx.ro:40000/idm/ws/cup?wsdl");
  
      } catch (MalformedURLException e) {
          logger.warning("Failed to create URL for the wsdl Location: 'xxxxxxxxxxxxxxxx', retrying as a local file");
          logger.warning(e.getMessage());
      }
      COMPUTEUSERPROFILEIMPLSERVICE_WSDL_LOCATION = url;
  }
  </code></pre>
  
  <p>Sorry for replacing the links, but i'm not authorised to post them since it's a pretty known organisation.. If you can help me with some suggestions, i will be grateful. I keep searching for solutions but i'm stuck.. i can't figure it out. It should be a workaround for this weblogic issue that applies to me... but i just can't find it. If you need it, i'll post some other snippets. Hope i was pretty clear with this.</p>
  
  <p>Thanks in advance !!</p>