2014-07-10 7 views
2

ws-security (wsse)를 사용하는 java-webservice에 액세스하려고합니다. 내가는 svcutil을 사용하여 소비하려 :svcutil을 사용하여 wsdl을 가져 오면 보안 설정이 실패합니다.

svcutil *.wsdl *.xsd /language:C# /tcv:Version35 

이 잘 작동하지만 그래서이 무시됩니다

An unsupported security policy assertion was detected 

말 WSDL 파일

<wsp:Policy wsu:Id="myServiceRequestResponseSoapBindingPolicy" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> 
    <wsp:ExactlyOne> 
     <wsp:All> 
      <sp:SupportingTokens xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"> 
       <wsp:Policy> 
        <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient"> 
         <wsp:Policy> 
          <sp:WssUsernameToken11/> 
         </wsp:Policy> 
        </sp:UsernameToken> 
       </wsp:Policy> 
      </sp:SupportingTokens> 
     </wsp:All> 
    </wsp:ExactlyOne> 
</wsp:Policy> 

이 블록을 가져 오류가 .

서비스와의 통신을 기대할 수 있으므로 "인증되지 않은"오류 메시지를 반환합니다. webservice 소유자가 얻은 정보에 WSSecurity 부분이 없습니다.

이 스레드는 svcutil getting stuck on usernameToken Policy에 있지만 인증서가 없어 정책이 다른 것처럼 보입니다. 그래서 나는이 길 어디에도 가지 않습니다.

WSE3을 설치했는데 뭔가 필요한 것 같은 느낌이 들었습니다.하지만 이것이 사실이고 내 wcf-client와 상호 작용할 필요가 있다면 지금은 꽤 확신 할 수 없습니다.

의견을 보내 주시면 감사하겠습니다.

+0

합니다. 오류를 재현하려면 최소한 전체 WSDL이 필요합니다. – codeworx

답변

0

경고에 대해 걱정할 필요가 없습니다. WSDL 섹션은 관련이 없습니다 (제거 할 수도 있습니다). 당신이 가지고 있어야하는 것은 wroking 클라이언트 (예 : Java) 또는 벤더 샘플에서 보안이 포함 된 SOAP 요청 샘플입니다. 그런 다음이를 지원하도록 바인딩을 구성 할 수 있습니다. 게시 한 WSDL 섹션에서 TransportWithMessageCredential의 보안 모드로 basicHttpBinding을 시도 할 수 있습니다. WCF 및 UsernameToken이를 위해 인터넷 검색을

+0

내가 작성한대로 이것이 나를 위해 작동하지 않습니다. 올바른 사용자 이름과 암호를 함수에 전달하면 '인증되지 않음'을 받게되고 SOAP 메시지에는 WSS 부분이없는 것 같습니다. 나는 그것을 고치는 법을 모른다. – UNeverNo

+0

안녕하세요 - 서비스 공급 업체에서 제공 한 샘플 비누가 있습니까? 아마도 user/pass가 충분하지 않거나 특정 wss : Created 또는 Non : nonce 태그가 필요합니다. 일단 당신이 그런 비누를 가지고 있다면 (당신은 soapUI로 그것을 얻으려고 할 수있다) 나는 우리가 올바른 WCF 설정을 찾을 수있을 것이라고 확신한다. 또한 WSDL의 전체 정책 태그에 더 많은 데이터가 포함되어 있습니다. 원하는 경우 나에게 메일을 보낼 수 있습니다 ([email protected]) –

+0

완전한 SOAP을 얻으려고합니다. 지금 그들은 방금 xsd/wsdl과 user/password를 제공했습니다. 그리고 안타깝게도 정책 내부에 더 이상 데이터가 없습니다. – UNeverNo