2010-11-05 16 views
5

के साथ जावा जेएक्स-डब्ल्यूएस सेवा जेएक्स-डब्ल्यूएस का उपयोग कर वेब सेवा बनाने के लिए संभव है, तो इस तरह के बाध्यकारी का उपयोग करके डब्लूसीएफ क्लाइंट द्वारा उपभोग किया जा सकता है?डब्ल्यूसीएफ क्लाइंट

<bindings> 
     <basicHttpBinding> 
      <binding name="CaseObjectServicePortBinding" > 
       <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
        maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
       <security mode="TransportWithMessageCredential"> 
        <transport clientCredentialType="Certificate"/> 
        <message clientCredentialType="Certificate" /> 
       </security> 
      </binding> 

     </basicHttpBinding> 
    </bindings> 

मैं एक ऐसी सेवा WSIT बिना अब के लिए, बस एक सादे सेवा बनाया है और सिर्फ भेजे सोप संदेश में "सुरक्षा" शीर्षक की उपेक्षा करना चाहता था। लेकिन यह विफल रहता है:

"एसएसएल/टीएलएस के लिए सुरक्षित चैनल स्थापित नहीं कर सका 'xxxxxxxxxx'।"

अगर मैं बदलने के लिए:

<security mode="TransportWithMessageCredential"> 
        <transport clientCredentialType="Certificate"/> 
        <message clientCredentialType="Certificate" /> 
       </security> 

रहे हैं:

<security mode="Transport"> 
        <transport clientCredentialType="Certificate"/> 
        <message clientCredentialType="Certificate" /> 
       </security> 

सब कुछ दोषरहित काम करता है। कोई विचार क्या मैं गलत कर रहा हूँ?

उत्तर

0

उत्तर हाँ है। आप BasicHttpBinding या WsHttpBinding

क्योंकि त्रुटि हुई किया गया था जब आप TransportWithMessageCredential का उपयोग उपयोग कर सकते हैं, WCF ग्राहक अपने संदेश तार के माध्यम से भेजा है, जो केवल WCF सेवा करने के लिए अंतर-संचालित है के लिए अतिरिक्त सुरक्षा लागू होगा।

एक बार जब आप इसे परिवहन में बदल देते हैं, केवल परिवहन सुरक्षा (प्रमाणपत्र का उपयोग कर एसएसएल) लागू किया जाता है, ताकि ग्राहक और सेवा दोनों एक दूसरे के साथ संवाद कैसे कर सकें।

चीयर्स।

0

जब TransportWithMessageCredential के रूप में सुरक्षा को परिभाषित आप कहते हैं: मैं एक सेवा है जो सुरक्षित परिवहन चैनल (HTTPS) पर संवाद होगा चाहता हूँ और मैं सोप शीर्षक में ग्राहक साख पास करना चाहते हैं।

आप संदेश तत्व में सर्टिफिकेट क्रेडेंशियल के प्रकार को परिभाषित यदि आप कहते हैं: सोप हैडर X.509 प्रमाणपत्र टोकन प्रोफ़ाइल के रूप में ग्राहक क्रेडेंशियल्स ले जाएंगे। यह इंटरऑपरेबल प्रारूप है जिसके लिए सेवा पर डब्ल्यूएस-सुरक्षा की आवश्यकता होती है।

यदि आप परिवहन तत्व में सर्टिफिएट प्रमाण पत्र प्रकार को परिभाषित करते हैं तो आप कहते हैं: मैं आपसी एसएसएल प्रमाणीकरण चाहता हूं। मुझे वास्तव में यकीन नहीं है कि अगर आप TransportWithMessageCredential

0

परिभाषित करते हैं तो यह अनुरोध नहीं किया जाता है; यह अनुरोध शुरू करने के चरण पर हुआ; टीएलएस अपवाद आपके लिए पॉप आउट करता है क्योंकि क्लाइंट पर सेट प्रमाणपत्र विश्वसनीय नहीं है। सामान्य गंतव्य नाम के साथ एक प्रमाणपत्र का उपयोग करें, यदि आप सार्वजनिक उपयोग पर सेवा का उपयोग कर रहे हैं तो डोमेन नाम अन्यथा गंतव्य आईपी पते को आम नाम के रूप में उपयोग करें और यह ठीक काम करेगा।

पीएस: यदि आप https सामग्री प्रकार 'टेक्स्ट/एक्सएमएल' साबुन 11 के साथ आगे बढ़ना चाहते हैं तो 'बेसिचट्स' बाध्यकारी का उपयोग करें jaxws

से डिफ़ॉल्ट
संबंधित मुद्दे