2011-04-19 10 views
41

अंदर एक्सएमएल पारित करने के लिए सोप-UI में मैं इस तरह एक वेब सेवा के लिए एक अनुरोध बनाने हूँ:सोप-यूआई - कैसे पैरामीटर

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xxx="http://xxx.call/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <cotf:call_XXX> 
     <!--Optional:--> 
     <arg0> 
      <!--Optional:--> 
      <parameter1>some text</parameter1> 
      <!--Optional:--> 
      <parameter2>XML string</parameter1> 
     </arg0> 
     </cotf:call_XXX> 
    </soapenv:Body> 
</soapenv:Envelope> 

कैसे मैं एक XML स्ट्रिंग पारित कर सकते हैं क्या मैं जानना चाहूंगा है पैरामीटर 2 पर के बाद से अगर मैं एक्सएमएल स्ट्रिंग डाल सीधे यह अनुरोध पैरामीटर के रूप में एक्सएमएल स्ट्रिंग नोड्स ....

धन्यवाद

+2

क्या सीडीएटीए संभव है? – Kangkan

उत्तर

96

या तो मान लिया गया है की जरूरत एक्सएमएल संस्थाओं सांकेतिक शब्दों में बदलना या CDATA का उपयोग करें।

<arg0> 
    <!--Optional:--> 
    <parameter1>&lt;test>like this&lt;/test></parameter1> 
    <!--Optional:--> 
    <parameter2><![CDATA[<test>or like this</test>]]></parameter2> 
</arg0> 
+0

पहले उदाहरण में '>' के साथ '>' एन्कोडिंग क्यों नहीं किया गया? क्या यह '<' and '> 'दोनों को एन्कोड करना ठीक है? – ForguesR

+1

@ForguesR एन्कोडिंग '>' केवल कुछ चरम स्थितियों में जरूरी है। सुरक्षा के लिए यह सामग्री का हिस्सा होने पर हमेशा इसे एन्कोड करना ठीक हो सकता है। यह संभव है कि अतीत में कुछ एक्सएमएल वैधकर्ता/पार्सर्स वैध XML इकाई के रूप में '> 'पहचान नहीं पाए थे, लेकिन मैं कचरा बोल रहा हूं। https://www.w3.org/TR/1998/REC-xml-19980210 –

+0

अगर हम सीडीएटीए विधि का उपयोग करते हैं, तो क्या प्राप्त करने वाले अंत में कुछ विशेष आवश्यकता है, या सेवा से कोई मदद के साथ इसका सही ढंग से अनुवाद किया जाएगा? – Bpainter

1

नोट: यह एक पिछली प्रदान की .NET Framework 3.5 के लिए और

ऊपर एक विकल्प है आप कच्चे एक्सएमएल

<test>or like this</test> 

के रूप में भेज सकते हैं आप XElement रूप paramater2 घोषित हैं डेटा प्रकार

+0

किसी भी विचार को कच्चे अनुरोध में निर्दिष्ट करने के लिए (यानी फिडलर या सोपुई या विज़लर के माध्यम से) कि 'पैरामीटर 2' XElement डेटा प्रकार है? – drzaus

0

अनुरोध ऑब्जेक्ट में सीडीएटीए भेजने के लिए SoapObject.setInnerText("..."); विधि का उपयोग करें।

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