2010-03-12 4 views
0

내가 실버 3 프로젝트를, 그리고 자바 WebService를 호출 할 필요가 - 바인딩이 (SOAP 1.1은 BasicHttpBinding) 확인됩니다실버 라이트 3 + 자바 WebService에

ClientConfig 파일 :

<configuration> 
<system.serviceModel> 
    <bindings> 
     <basicHttpBinding> 
      <binding name="SkyinfoTestInterfaceExport2_SkyinfoTestInterfaceHttpBinding" 
       maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"> 
       <security mode="None"> 
        <transport> 
         <extendedProtectionPolicy policyEnforcement="Never" /> 
        </transport> 
       </security> 
      </binding> 
     </basicHttpBinding> 
    </bindings> 
    <client> 
     <endpoint address="myAddress" 
      binding="basicHttpBinding" bindingConfiguration="SkyinfoTestInterfaceExport2_SkyinfoTestInterfaceHttpBinding" 
      contract="SkyInfoServiceReference.SkyinfoTestInterface" name="SkyinfoTestInterfaceExport2_SkyinfoTestInterfaceHttpPort" /> 
    </client> 
</system.serviceModel> 

나는 클라이언트에서 메서드를 호출 할 때

나는이 정책 오류 : URI에 대한 요청을하는 동안

오류가 발생했습니다 '...'. 이것은 적절한 크로스 도메인 정책이없는 크로스 도메인 방식으로 서비스에 액세스하려고 시도하거나 SOAP 서비스에 적합하지 않은 정책으로 인해 발생할 수 있습니다. 도메인 간 정책 파일을 게시하고 SOAP 관련 HTTP 헤더를 보낼 수 있도록하려면 서비스 소유자에게 문의해야 할 수 있습니다. 이 오류는 InternalsVisibleToAttribute 특성을 사용하지 않고 웹 서비스 프록시에서 내부 형식을 사용하는 경우에도 발생할 수 있습니다. 자세한 내용은 내부 예외를 참조하십시오.

나는이 2 가지 정책 XML 파일에 대해 알고 있는데, 호출하려고하는 Java EE 서비스는 내가 액세스 할 수없는 IBM WebSphere Process Server에서 호스팅된다.

누구든지이 정책 예외를 해결하는 방법을 알고 있습니까?

+0

WSDL이 있습니까? – Padmarag

+0

예, WSDL이 있습니다. 클라이언트는 괜찮습니다. 문제는 크로스 도메인 정책이 없기 때문에 조작 호출입니다. – Heko

답변

0

도메인 간 정책을 구현하기 위해 서버에 액세스 할 수 없기 때문에 프록시 RIA 서비스를 구현해야합니다. 로컬 서비스에서 요청/응답을 모방하고 요청을 원래 서비스로 전달한 다음 필요에 따라 응답을 반환하십시오.

+0

고마워요! 그리고 서버에 액세스 할 수 있다면 어떻게해야합니까? clientaccesspolicy.xml 파일을 서비스 루트에 업로드 하시겠습니까? – Heko

+0

예. 클라이언트 액세스 정책을 사용하면 상호 도메인 서비스를 사용할 수 있습니다. 일반적인 공공 서비스가 많이있어 Flickr와 같이 사용할 수 있습니다. http://msdn.microsoft.com/en-us/library/cc645032(VS.95).aspx – nyxtom

관련 문제