2010-09-09 12 views
18

के साथ एक डब्ल्यूएस प्रकाशित करना मैंने न्यूनतम वेब सेवा बनाई और इसे javax.xml.ws.Endpoint का उपयोग करके प्रकाशित किया। यदि मैं http://localhost:1234/AddService?wsdl पर WSDL प्राप्त करने का प्रयास करता हूं तो यह ठीक काम करता है।जैक्स-डब्ल्यूएस एंडपॉइंट

http://192.168.0.133:1234/AddService?wsdl पर इसे प्राप्त करने का प्रयास करते हुए, मुझे कुछ भी प्राप्त नहीं होता है। यह पता localhost जैसा ही है।

क्या पता प्रदान किए बिना एक webservice प्रकाशित करने के लिए कोई posibiility है?

package test; 

import javax.jws.WebMethod; 
import javax.jws.WebService; 
import javax.xml.ws.Endpoint; 

@WebService 
public class AddService { 

    @WebMethod 
    public int add(int a, int b){ 
     return a+b; 
    } 

    public static void main(String[] args){ 
     Endpoint.publish("http://localhost:1234/AddService", new AddService()); 
    } 
} 

Endpoint.publish("http://192.168.0.133:1234/AddService", new AddService()); 

करने के लिए कोड बदलने मुझे आईपी पते पर लेकिन स्थानीय होस्ट पर नहीं wsdl हो जाता है।

क्या पोर्ट को परिभाषित करने की कोई संभावना नहीं है?

उत्तर

32

क्या आप इसे 0.0.0.0 पर प्रकाशित करने का प्रयास कर सकते हैं?

+2

यह काम करता है। लोकलहोस्ट, 0.0.0.0 और 1 9 .168.0.133 मुझे wsdl मिल जाता है। लेकिन स्थानीयहोस्ट या अन्य आईपी पर प्रकाशित करते समय यह क्यों नहीं है। – daniel

+3

यह सुनकर खुशी हुई कि यह काम करता है। localhost आईपी 127.0.0.1 है, और एंडपॉइंट.publish (जाहिर है) केवल प्रदान किए गए पते से बांधता है। 0.0.0.0 के साथ आप इसे आने वाले कनेक्शनों को किसी भी आईपी-एड्रेस (अपने कंप्यूटर से जुड़े) के लिए 'सुनो' करने के लिए कहते हैं। यह केवल एक विशिष्ट आईपी-एड्रेस से जुड़ने के लिए एक आसान सुविधा हो सकती है, उदा। यदि आप चाहते हैं कि आपकी सेवा केवल एक निश्चित सबनेट के लिए उपलब्ध हो ... – ivy

+0

ग्रेट चाल। क्या यह आधिकारिक रूप से समर्थित है या सिर्फ एक आसान दुष्प्रभाव है? –

संबंधित मुद्दे