मुझे wcf वेब-सेवा (basicHttp बाइंडिंग) मिली है। हमारे डेल्फी 7 ग्राहक इसे उपभोग नहीं कर सके। मैं पहले ही डब्लूएसएफ एक्स्ट्रा के साथ डब्लूएसडीएल को फटकार चुका हूं। ठीक। डेल्फी 7 wsdl आयातक प्रॉक्सी सही उत्पन्न करता है।डब्ल्यूसीएफ डेल्फी 7 विधि इनपुट पैरामीटर
अब मुझे इनपुट पैरामीटर के साथ समस्याएं आई हैं। उनके पास हमेशा डिफ़ॉल्ट मान होते हैं (स्ट्रिंग के लिए खाली, int के लिए 0)।
विधियों से आउटपुट मान delphi7 ठीक हो जाता है। उदाहरण के लिए उदाहरण के लिए:
public string Test(string a)
{
return "Test"+a;
}
यह विधि हमेशा "टेस्ट" लौटाती है। मेरा लॉगिंग सिस्टम ठीक है कि मुझे विधि में खाली मिला है, इसलिए समस्या सही हस्तांतरण इनपुट पैरामीटर है।
मैं क्या गलत है undersand नहीं कर सकते
संपादित
प्रॉक्सी:
ISyncer = interface(IInvokable)
['{D46862B0-BDD3-8B80-35A8-A2AC69F24713}']
function Test(const a: String): String; stdcall;
end;
कॉल:
Sync:=(dmMain.HTTPRIO1 as ISyncer);
test:=Sync.Test('5555');
dmMain.HTTPRIO1 विकल्पों पर soLiteralParams है:
+०१२३५१६४१०६१init:
InvRegistry.RegisterInvokeOptions(TypeInfo(ISyncer), ioLiteral);
कॉल के बाद मुझे संदेश के साथ अपवाद:
Error deserializtion message body for operation Test.
Operation formatter detects ivalid message body. Expecting node type "Element"
with name "Test" and namespace "http://tempuri.org". Actually node type "Element"
with name "xsd:String" and namespace "http://w3.org/2001/XMLSchema"
wsdl टुकड़ा:
<xsd:element name="Test">
−
<xsd:complexType>
−
<xsd:sequence>
<xsd:element minOccurs="0" name="a" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
−
<xsd:element name="TestResponse">
−
<xsd:complexType>
−
<xsd:sequence>
<xsd:element minOccurs="0" name="TestResult" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
EDIT2
मैं अनुसंधान HTTP अनुरोध:
नेट
<Test> xmlns="http://tempuri.org/"><a>5555</a></Test>
काम करता है सही;
Delph7
<Test xmlns="http://tempuri.org/"><xsd:a>5555</xsd:a></Test>
अशक्त इनपुट पैरामीटर। समस्या उपसर्ग XSD में है
सुनिश्चित नहीं है कि कारण क्या है। क्या आपको कोई अपवाद मिलता है? क्या यह सेवा एक के साथ ठीक काम करती है।शुद्ध ग्राहक (परीक्षण उद्देश्य)? – Aravind
कोई अपवाद नहीं, सेवा .net ग्राहकों के साथ ठीक काम करती है। इनपुट पैरामीटर सही ढंग से पास हुए –
कृपया wsdl और जेनरेट प्रॉक्सी क्लास – Sam