2011-09-14 24 views
6

मैं एक MVC3 नेट वेब WSE 3.0 का उपयोग कर app से एक जावा वेब सेवा कॉल करने के लिए कोशिश कर रहा हूँ करने के लिए एक EncodingType विशेषता जोड़ कर।मैं कैसे WSE में एक UsernameToken की Nonce तत्व 3.0 (नेट)

हालांकि, वेब सेवा UsernameToken की Nonce तत्व पर एक "EncodingType" विशेषता की आवश्यकता है।

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:v1="http://schema.mydomain.org/sms/v1_0"> 
    <soap:Header> 
    <wsse:Security soap:mustUnderstand="true" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> 
     <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> 
     <wsse:Username>myUsername</wsse:Username> 
     <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">myPassword</wsse:Password> 
     <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">XQkp6oYc3DRv41cxkSTW8w==</wsse:Nonce> 
     <wsu:Created>2011-09-13T20:50:08.355Z</wsu:Created> 
     </wsse:UsernameToken> 
    </wsse:Security> 
    </soap:Header> 
    <soap:Body> 
     <v1:ping/> 
    </soap:Body> 
</soap:Envelope> 

बाद प्रॉक्सी से उत्पन्न सोप लिफाफा कि उत्पादन VS2010 (फ़िडलर में कब्जा) है::

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> 
    <env:Header xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
    <wsse:Security env:mustUnderstand="true"> 
     <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-111f922b-72c1-4057-bce4-f6555552ce6a"> 
     <wsse:Username>myUsername</wsse:Username> 
     <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">myPassword</wsse:Password> 
     <wsse:Nonce>qYse3Lor9sAJ9pKPefgkKQ==</wsse:Nonce> 
     <wsu:Created>2011-09-13T20:50:38Z</wsu:Created> 
     </wsse:UsernameToken> 
    </wsse:Security> 
    </env:Header> 
    <soap:Body> 
     <v1:ping/> 
    </soap:Body> 
</soap:Envelope> 

इस विशेषता हैं के बाद एक नमूना सोप लिफाफा है कि इस जावा वेब सेवा के साथ ठीक से काम करता है याद आ रही है, इस वेब सेवा returns "एक अमान्य सुरक्षा टोकन प्रदान की गई थी (प्रसंस्करण एक प्रयोक्ता नाम टोकन कोई त्रुटि हो गई)"

मैं एक EncodingType विशेषता कैसे जोड़ सकता हूँ?

उत्तर

2

मैं एक स्वीकार्य समाधान ...

EncodingType झंडा WSSE उपयोगकर्ता नाम और टोकन सुरक्षा युक्ति 1.1 है, जो कल्पना अपाचे CXF ढांचे के संस्करण इस जावा वेब सेवा है कि के लिए आवश्यक है के अनुसार है पाया का उपयोग करते हुए। .NET उस spec को पूरा नहीं करता है। सौभाग्य से आवश्यकता को बंद करने के लिए सीएक्सएफ में एक झंडा था। हमने ऐसा किया और अब संवाद करने में सक्षम हैं।

+0

हाय, मैं इस सटीक मुद्दा हो रहा है। यह जानकर अच्छा लगा कि एक झंडा है, अगर आप भी झंडा का उल्लेख करते हैं तो यह अच्छा होगा, अब मुझे अभी भी देखना है। – toongeorges

3

मैंने पाया कि मेरी अंतिम बिंदु पर एक jaxws संपत्ति के रूप में "isBSPCompliant" सेटिंग "गलत" EncodingType मुद्दों को हल करता है। क्या यह समाधान आपको मिला था?

+0

उसने मेरे लिए चाल बनाई: <प्रविष्टि कुंजी = "isBSPCompliant" value = "false" /> – AtliB

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

  • कोई संबंधित समस्या नहीं^_^