के साथ वेबलॉगिक में कोई स्कीमा आयात नहीं है, मैं आयात घोषणा के बजाए एक एकल डब्लूएसडीएल फ़ाइल घोषणा के अंदर ऑब्जेक्ट स्कीमा को शामिल करने के लिए जेएक्स-डब्ल्यूएस का उपयोग करके वेबलॉगिक 10.3.6 द्वारा उत्पन्न वेब सेवा को कैसे कॉन्फ़िगर कर सकता हूं?एकल डब्लूएसडीएल जेएक्स-डब्ल्यूएस
उदाहरण कोड:
इंटरफ़ेस
import javax.ejb.Local;
@Local
public interface CustomerBeanLocal {
public void updateCustomer(Customer customer);
}
सत्र बीन
import javax.ejb.Stateless;
import javax.jws.WebService;
@Stateless
@WebService
public class CustomerBean implements CustomerBeanLocal {
@Override
public void updateCustomer(Customer customer) {
// Do stuff...
}
}
जनरेट किया डबल्यूएसडीएल
हमें स्कीमा परिभाषाओं को नीचे दिए गए उदाहरण में <xsd:import>
टैग के साथ आयात नहीं किया जाना चाहिए, लेकिन डब्ल्यूएसडीएल के अंदर घोषित किया जाना चाहिए, जिसका अर्थ है कि सभी अनुबंध जानकारी एक डब्लूएसडीएल फ़ाइल में है। अन्य फाइलों की कोई निर्भरता नहीं।
<!-- ... -->
<types>
<xsd:schema>
<xsd:import namespace="http://mybeans/" schemaLocation="http://192.168.10.1:7001/CustomerBean/CustomerBeanService?xsd=1" />
</xsd:schema>
</types>
<!-- ... -->
वाइल्डफली के साथ एक ही कोड में डब्ल्यूएसडीएल के अंदर स्कीमा प्रकार शामिल हैं, और आयात सुविधा का उपयोग नहीं करते हैं। कुछ शोध के बाद मुझे वेबलॉगिक में इसे करने के लिए बीन/सर्वर को कॉन्फ़िगर करने का कोई तरीका नहीं मिला (इसे करने के लिए जेएक्स-डब्ल्यूएस या वेबलॉगिक स्वामित्व वाली विशेषताएं नहीं मिलीं)।
मैं एक निर्यातित स्कीमा (पुन: प्रयोज्यता, आदि) के लाभों को समझता हूं लेकिन यह परियोजना की एक आवश्यकता है कि प्रकारों को डब्ल्यूएसडीएल के अंदर घोषित किया जाना चाहिए, आयात नहीं किया जाना चाहिए।
यह एक ऐसी ही सवाल का एक बहुत अच्छा जवाब है: http://stackoverflow.com/questions/16030574/jax-ws-has-xsd-schema-in-different-url –
मैं मैनुअल हस्तक्षेप की बचत कर रहा हूँ एक अंतिम संसाधन के रूप में। इसे कॉन्फ़िगर करने का एक तरीका होना चाहिए (यहां तक कि एक गैर पोर्टेबल सुविधा के साथ)। यदि मैन्युअल संस्करण वेबलॉगिक का एकमात्र विकल्प है, तो मैं शायद अनुबंध-पहली पीढ़ी के लिए जाऊंगा। – BonanzaOne