title: Creating a web-service client with a known but inaccessible wsdl
body: <p>We have been provided with a wsdl and xsd schema by a company we are working with via email. The web-services we are interfacing with are accessed through a IPsec tunnel. There are local references(on their end) in the published WSDL which means we cannot consume it.</p>
  
  <p>1st question: Is this a common setup? I thought the point of having a WSDL was not only to define the contract but to also expose the service to consumers.</p>
  
  <p>I can easily generate client/server code off of the provided WSDL using wsimport, wsconsume, etc.. I know when my generated client makes a call to my generated service it produces the correct message I need.</p>
  
  <p>2nd Question: Is there an easy way to route this to a different soap address?</p>
  
  <p>I just want to be able to do something like:</p>
  
  <pre><code>SalesTaxService svc = new SalesTaxService();
  SalesTax tax = svc.getSalesTaxPort()
  tax.getRate("NY");
  </code></pre>
  
  <p>But not use the soap address defined in the WSDL. I would like to avoid writing a bunch of dispatch clients for each method.</p>
  
  <p>Am I missing something?</p>
  
  <p>*In response to skaffman:
  This is what was generated. It defaulted to wsdlLocation as a name <em>shrug</em></p>
  
  <pre><code>   @WebServiceClient(name = "SomeService")
     public class SomeService_Service extends Service {
  
      public SomeService_Service(URL wsdlLocation, QName serviceName) {
          super(wsdlLocation, serviceName);            
      }
  
      public SomeService_Service(URL wsdlLocation) {
          super(wsdlLocation, new QName("urn:some_service", "SomeService"));   
      }
    }
  </code></pre>