मैं एक ऐसे सिस्टम पर काम कर रहा हूं जो एक साबुन इंटरफेस प्रदान करता है। इंटरफ़ेस का उपयोग करने वाले सिस्टमों में से एक को डेल्फी 7 में कोड किया गया है। वेब सेवा डब्ल्यूसीएफ, मूल http बाध्यकारी, SOAP 1.1 के साथ विकसित की गई है।डेल्फी एसओएपी लिफाफा और डब्ल्यूसीएफ
यदि मैं SOAP UI (जावा) का उपयोग करता हूं, तो सेवा ठीक से काम करती है। लेकिन डेल्फी यहाँ विशेष काम करने के लिए लगता है,)
यह कैसे संदेश सोप यूआई में की तरह लग रहा है:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.xxx.de/xxx">
<soapenv:Header/>
<soapenv:Body>
<ser:GetCustomer>
<!--Optional:-->
<ser:GetCustomerRequest> <!-- this is a data contract -->
<ser:Id>?</ser:Id>
</ser:GetCustomerRequest>
</ser:GetCustomer>
</soapenv:Body>
</soapenv:Envelope>
मैं एक डेल्फी डेवलपर नहीं कर रहा हूँ, लेकिन मैं एक साधारण परीक्षण ग्राहक क्या हो रहा है देखने के लिए विकसित गलत। यह डेल्फी एसओएपी लिफाफा के रूप में भेजता है।)
Es wurde दास Endelement "द बॉडी" aus नाम स्थान "http://schemas.xmlsoap.org/soap/envelope/" erwartet;
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:NS2="http://services.xxx.de/xxx"> <NS1:GetCustomer xmlns:NS1="http://services.xxx.de/xxx"> <GetCustomerRequest href="#1"/> </NS1:GetCustomer> <NS2:GetCustomerRequest id="1" xsi:type="NS2:GetCustomerRequest"> <Id xsi:type="xsd:int">253</Id> </NS2:GetCustomerRequest> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
WCF एक त्रुटि जर्मन भाषा ... में है कि फेंकता है। Gefunden wurde "एलिमेंट" एनएस 2: GetCustomerRequest "ऑस नेमस्पेस" http://services.xxx.de/xxx ""। Zeile 1, स्थिति 599.
तरह
शारीरिक उम्मीद थी ही कुछ। लेकिन इसके बजाय एलिमेंट "एनएस 2: GetCustomerReques" पाया गया था।
अब मेरे प्रश्न हैं: क्या मैं किसी भी तरह से डेल्फी लिफाफा बनाता है? या ऐसे संदेश स्वरूपों के साथ डब्ल्यूसीएफ काम करने के तरीके हैं? कोई भी मदद बहुत ही सराहनीय होगी!
समस्या एनएस 1 एनएस 2 हिस्सा नहीं है। समस्या यह है कि डेल्फी संरचनात्मक रूप से गलत एक्सएमएल बना रहा है। ऐसा लगता है कि वेब सेवा GetCustomerRequest को GetCustomer के अंदर घोंसला करने की उम्मीद कर रही है, लेकिन डेल्फी क्लाइंट GetCustomerRequest तत्व को घोंसला नहीं दे रहा है। मुझे नहीं पता कि इसे कैसे ठीक किया जाए। क्या आपने डब्लूसीएफ सेवा से डब्लूएसडीएल का उपयोग करके डेल्फी क्लाइंट उत्पन्न किया था? –