2011-10-20 2 views
0

OData4j 라이브러리가있는 java 서블릿이 있는데 Silverlight 응용 프로그램에서 HTTP POST 요청을 할 수 있도록 구성하려고합니다.Silverlight 응용 프로그램에 대한 java 서블릿에서 crossdomain 호출 사용

<servlet> 
    <servlet-name>OData</servlet-name> 
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
    <init-param> 
    <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name> 
    <param-value>org.odata4j.producer.resources.ODataResourceConfig</param-value> 
    </init-param> 
</servlet> 
<servlet-mapping> 
    <servlet-name>OData</servlet-name> 
    <url-pattern>/myService/*</url-pattern> 
</servlet-mapping> 

나는 내 web.xml 파일이 추가 시도했다 : :

<servlet> 
    <servlet-name>CrossDomain</servlet-name> 
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
    <init-param> 
    <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name> 
    <param-value>org.odata4j.producer.resources.CrossDomainResourceConfig</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>CrossDomain</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 

을하지만 그것은 작동하지 않습니다

내 web.xml 파일은 다음과 같습니다. 또한 "crossdomain.xml"및 "clientaccesspolicy.xml"파일을 내 자원 디렉토리에 추가하려고 시도했지만 작동하지 않습니다. 내 Silverlight 응용 프로그램과 함께 HTTP POST 요청을 보낼 때 여전히 SecurityException이 발생합니다.

힌트를 주시면 감사하겠습니다.

감사

+0

"작동하지 않음"을 정의하십시오. 보안 예외가 "작동하지 않는다"는 표시입니까? 또는 뭔가 다른 일이있다. 어떤 통나무를 얻나요? – Tim

+0

그래, 나는 동일한 보안 예외를 의미했다. 나는 마침내 잘못된 것을 발견했다. 답을 보라. – Mathieu

답변

0

는 CrossDomainResourceConfig를 인스턴스화하는 것은 "crossdomain.xml에"와 "clientaccesspolicy.xml"파일을 가능하게한다는 것을 밝혀졌습니다. URL에 /myService/crossdomain.xml/myService/clientaccesspolicy.xml을 사용할 수 있다는 것입니다.

그러나, 실버 라이트 런타임 서버 루트에서 해당 파일을 찾습니다 : 수동으로 서버 루트에 해당 파일을 모두 추가하여 (예를 들어 /clientaccesspolicy.xml)

, 그것은 문제를 해결했습니다.

관련 문제