2013-06-27 3 views
0

끝점에 프록시 서비스 통과를 만들고 게시 wsdl 옵션에서 소스 URL을 선택했습니다. 엔드 포인트는 wsdl 정의에서 xsd를 참조합니다. 프록시 웹 서비스는 벌금을 부과했지만 클라이언트 (SOAP UI)에서이 웹 서비스를로드하려고하면 xsd가 프록시 서비스 wsdl URL에서 참조되는 방식 때문에 오류가 발생합니다. XSD에 정의 스키마에 대한 참조를 사용하여 프록시 서비스의XSD에 대한 참조가있는 끝점에서 wso2 esb 프록시 서비스 만들기

<types> 
    <xsd:schema> 
     <xsd:import namespace="http://service.example.com/" schemaLocation="http://172.16.91.82:7001/DemoService/DemoService?xsd=1"/> 
    </xsd:schema> 
</types> 

샘플과 실제 웹 서비스의

샘플.

<wsdl:types> 
    <xsd:schema attributeFormDefault="unqualified" elementFormDefault="unqualified"> 
     <xsd:import namespace="http://service.example.com/" schemaLocation="SecuredServiceProxy?xsd=http://172.16.91.82:7001/DemoService/DemoService?xsd=1"/> 
    </xsd:schema> 
</wsdl:types> 

클라이언트는 (물론 잘못된 모양) 스키마 위치

1) 나는이를 제거하는 방법을 찾고 있어요를로드하는 데 문제가 있습니다.

2)이 프록시 서비스는 최종 사용자로부터 실제 서비스를 숨기기위한 것입니다. xsd 스키마가 프록시 서비스 wsdl 정의에 나열되는 방식은 실제 엔드 포인트 정보를 최종 사용자에게 유출하는 것입니다. 프록시 서비스의 생성 된 WSDL 정의에 표시된 xsd URL을 피할 수있는 방법이 있습니까?

감사합니다.

답변

0

최종 사용자의 실제 서비스 세부 정보에 숨겨져 있어야하는 경우 WSO2 ESB에서 WSDL을 게시하지 않아도됩니다.

그러면 ESB에 정의 된 프록시 서비스가 호출됩니다.

이 정보가 도움이되기를 바랍니다.

감사합니다.

2

그렇다면 엔드 포인트가 URL이고 게시 wsdl도 url이라는 것을 의미합니까? 게시 wsdl을 인라인으로 지정하고 xsd URL의 내용을 포함해야하는 ESB_Home에서 .xsd 파일을 만들 수 있습니다. 그리고 다음 URL에서 위치를 변경하여 .XSD 파일에 refrence 수에 단순히 인라인 WSDL에 ESB_Home 디렉토리에 존재하는 XSD 파일의 이름으로 :

<wsdl:types> 
    <xsd:schema attributeFormDefault="unqualified" elementFormDefault="unqualified"> 
     <xsd:import namespace="http://service.example.com/" schemaLocation="DemoService.xsd"/> 
    </xsd:schema> 
</wsdl:types> 

희망이 당신

+0

작동 그 수동 작업이었습니다. 수동으로 wsdl 파일을 복사하여 참조를 XSD로 바꾸면 작동합니다. 그건 내가 실제로하고 싶지 않았지만 내 요구 사항을 충족 시켰습니다. – Abdul

관련 문제