यहां कुछ स्पष्टीकरण जोड़ने के लिए, जब आप अपनी सेवा बनाते हैं, तो सेवा वर्ग डिफ़ॉल्ट 'wsdLLocation' का उपयोग करता है, जो वर्ग wsdl से निर्मित होने पर इसमें डाला जाता था। इसलिए यदि आपके पास किसी सेवा वर्ग को SomeService कहा जाता है, और आप इस तरह से एक उदाहरण बनाते हैं:
SomeService someService = new SomeService();
यदि आप SomeService के अंदर देखते हैं, तो आप देखेंगे कि निर्माता इस तरह दिखता है:
public SomeService() {
super(__getWsdlLocation(), SOMESERVICE_QNAME);
}
इसलिए यदि आप चाहते हैं कि यह किसी अन्य URL को इंगित करे, तो आप बस उस तर्क का उपयोग करते हैं जो URL तर्क लेता है (qname और सुविधाओं को सेट करने के लिए 6 निर्माता हैं)। उदाहरण के लिए, यदि आपने एक स्थानीय टीसीपी / आईपी मॉनिटर स्थापित किया है जो 9999 पोर्ट पर सुन रहा है, और आप उस URL पर पुनर्निर्देशित करना चाहते हैं:
URL newWsdlLocation = new URL("http://theServerName:9999/somePath");
SomeService someService = new SomeService(newWsdlLocation);
और जो इस निर्माता को सेवा के अंदर बुलाएगा:
public SomeService(URL wsdlLocation) {
super(wsdlLocation, SOMESERVICE_QNAME);
}