2016-09-05 3 views
0

우리는 WSDL 문서 내의 프록시 서비스의 버전을 저장 프록시 서비스의 효과적인 WSDL 재 작성 문서 - 요소/정의/문서로 :오라클 서비스 버스 12C : 요소/정의/

<?xml version="1.0" encoding="UTF-8"?> 
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
xmlns:tns="http://mynamespace.cz/1.0" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
name="MyService" targetNamespace="ttp://mynamespace.cz/1.0"> 
    <wsdl:documentation> 
    <version>2.0</version> 
    </wsdl:documentation> 

서비스 버스 12c (12.2.1)에 서비스를 배포 할 수 있으며 서비스가 정상적으로 작동합니다. 나는 서비스 버스 콘솔 (소위 자원 WSDL)에서 WSDL을 표시 할 때, WSDL은 내가 예상 한대로이며, 포함 :

<wsdl:documentation> 
    <version>2.0</version> 
</wsdl:documentation> 

을 그러나, 나는 (자원 WSDL에서 서비스 버스에 의해 생성) 유효 WSDL을받을 경우 URL가 : http://myserver:port/sbresource?PROXY/MyService/MyService

요소 문서는 덮어 쓰기 :

<WL5G3N0:documentation> 
     2.0 
</WL5G3N0:documentation> 

요소 버전이 완전히없는, 그러나 그것은 내용이 여전히 존재합니다.

이 문제가 발생하는 이유와 해결 방법이있을 경우 알려 주시기 바랍니다. 파서가 서비스 버전을 검색 할 수 있도록 요소 "버전"을 유지해야합니다.

내 목표는 서비스 소비자에게 사용하기 쉬운 솔루션을 얻는 것입니다. 즉, 단일 WSDL을 정보 소스로 사용하고 가능한 한 WSDL을 XPath에서 쉽게 파싱 할 수있게하는 것입니다.

+0

네임 스페이스를 ''에 추가 해봤습니까? –

+0

[xsd 문서 주석의 xml 예제를 이스케이프해야합니까?] 가능한 복제본입니까? (http://stackoverflow.com/questions/1087293/should-example-xml-in-an-xsd-documentation-annotation-be-escapeed) –

+0

네, 네임 스페이스를 추가하려고했지만 요소도 제거되었습니다. 속성을 추가하면 제거됩니다. 유효한 WSDL에는 요소의 텍스트 내용 만 남아 있습니다. – KarelHusa

답변

1

OSB는 효과적인 WSDL을 생성 할 때 지름길을 취하고 문서 요소에있는 것은 무엇이든 data() 'd가됩니다.

accessed the design-time WSDL 효과적인 WSDL을 기반으로하는 경우 도움이 될까요?

http://host:port/sbresource?WSDL/project_path/wsdl_name

+0

리소스 WSDL에는 버전 요소가 있지만 유효한 WSDL (끝점 주소 등)에있는 다른 정보는 포함되어 있지 않습니다. 두 개의 WSDL을 사용하는 것은 소비자에게 너무 복잡하며, 리소스/효과적인 WSDL은 꽤나 오라클 SB에만 국한되며, '일을 완성하기 위해 WSDL 만 필요로하는 사람들'에게는 이해하기 어렵다. – KarelHusa

+0

가장 확실한 접근법은 버전을 WSDL에 '고정 된'요소로 포함시키는 것, 또는 일종의 '상태'작업에서 반환 할 수있는 변수로 만드는 것입니다. –

관련 문제