के साथ तैनात एक जेएक्स-डब्ल्यूएस webservice डब्ल्यूएसडीएल से पता: मेरे पास एक डब्ल्यूएसडीएल से wsimport का उपयोग करके उत्पन्न एक webservice कार्यान्वयन है। यह सेवा एक स्प्रिंग वेबपैप में टॉमकैट सर्वर में तैनात है। जब मैं बिल्ला में इस webapp तैनात वसंत विन्यास फाइल (केवल वेब सेवा भाग) इसमैं स्वत: जेनरेटेड साबुन कैसे बदल सकता हूं: वसंत
<wss:binding url="/fooService">
<wss:service>
<ws:service bean="#fooService">
</wss:service>
</wss:binding>
की तरह है, मैं डबल्यूएसडीएल प्राप्त कर सकते हैं अगर मैं
http://localhost:8080/foo/fooService?wsdl
और wsdl साबुन पर जाएँ: पता संपत्ति इस तरह है:
<service name="FooService">
<port name="FooService" binding="tns:FooServiceBinding">
<soap:address location="http://localhost:8080/foo/fooService"/>
</port>
</service>
और अभी के लिए, यह ठीक है।
समस्या यह है कि उत्पादन में, हमारे पास अपाचे वेब सर्वर है और यह सर्वर अनुरोधों को टॉमकैट पर रीडायरेक्ट करता है। यह भी काम करता है, लेकिन जब हमें डब्लूएसडीएल मिलता है, तो साबुन: पता अभी भी लोकलहोस्ट है: 8080 और हमें इसे webservice के लिए सार्वजनिक यूआरएल होने की आवश्यकता है।
कोई विचार?
बहुत बहुत धन्यवाद।
ऐसा लगता है कि JAX-WS इस संपत्ति स्वत: जनरेट करता:
कृपया मुझे पता है कि अपने xml वसंत स्कीमा हेडर आदेश अपने कोड स्निपेट में बंदरगाह और साबुन के लिए बाध्यकारी ऊपर कस्टम endpoint पते रजिस्टर करने के लिए वसंत को पूरा करने के में थे दे सकते हैं और बंदरगाह। मैंने http://jax-ws.dev.java.net/spring/core, servlet, और स्थानीय-परिवहन की कोशिश की है लेकिन उनमें से कोई भी इनका संदर्भ नहीं देखता है। नतीजतन, मैं saxparserexceptions मिलता है। एक आसान जवाब नहीं मिल रहा है। किसी भी सहायता के लिए अग्रिम धन्यवाद। – arcseldon
दोह! ठीक है, आप यहां wsdl फ़ाइल का संदर्भ दे रहे हैं। क्षमा करें, मैं कॉन्फ़िगरेशन में एंडपॉइंट पते को ओवरराइड करने का प्रयास कर रहा हूं। – arcseldon