2010-12-15 2 views
3

우리가 통합하려는 공급 업체는 일부 웹 서비스 기능을 제공합니다 ... Java로 개발했으며 예제 클라이언트 프로젝트도 제공했습니다. 자바에서) 그 웹 서비스의 소비를 보여줍니다. 우리는 실제로 .NET으로 웹 서비스의 소비/인터페이스를 구현하려고하지만 보안이 어떻게 작동하는지 파악할 수는 없습니다..NET에서 Java WS 호출 - Java 방식은 Apache Rampart, .NET 등가를 사용합니다.

Java 클라이언트 예제에서 "Apache Rampart"라는 것을 사용하는 것으로 보입니다.

public static void initSecurityPolicy(ServiceClient client) throws Exception 
{ 
    Options options = client.getOptions(); 
    options.setProperty(RampartMessageData.KEY_RAMPART_POLICY, 
     loadPolicy("policy.xml")); 

    options.setUserName(USERID); 
    options.setPassword(PASSWD); 
    options.setTimeOutInMilliSeconds(READTIMEOUT); 
    client.engageModule("rampart"); 
} 

누군가가 내가 찾고되어야 하는지를에서 나를 도울 수, 닷넷 세계에서,이에 해당 할 : 그 다음과 같습니다 내에서 그들은 코드가? 현재, .NET 프로젝트에서 .. 나는 WSDL을 잘 처리 할 수 ​​있으며 프록시 객체를 완벽하게 생성하지만 어떤 함수를 실행하거나 호출하려고하면 "SOAP 헤더가 누락되었습니다."라는 메시지가 표시됩니다. 관련.

또한 저에게 policy.xml 파일을 제공합니다. 저는 초보자 인 .NET 프로그래머이고 일반적으로 WSStudio가 WS 관련 프로그래밍을 처리하기 위해 생성하는 프록시를 사용하므로 해당 policy.xml 파일로 무엇을해야하는지, 위의 코드에서.

답변

0

정말 막히면 IKVM을 사용하여 Java 코드와 상호 작용할 수 있습니다. 기본적으로 .NET에서 호스팅되는 JVM입니다.

-1

당신은 ... 비누 헤더를 설정하려면이 같은 필요이를 위해

<soap:Header> 
    <wsse:Security soap:mustUnderstand="1" 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"> 
     <wsse:UsernameToken wsu:Id="UsernameToken-E2E367EC446B10BDA2150463848593046"> 
     <wsse:Username>User</wsse:Username> 
     <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Pass</wsse:Password> 
     <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">/rHCse9+oW6b71t1+J3GPA==</wsse:Nonce> 
     <wsu:Created>2017-09-05T09:08:05.930Z</wsu:Created> 
     </wsse:UsernameToken> 
    </wsse:Security> 
</soap:Header> 

을, 당신은 SOAP 메시지에 보안 자격 증명을 추가 .NET에서 UsernameToken을 설정하는 방법을 찾을 필요가