2016-09-05 1 views
0

мы храним версию прокси-сервис внутри WSDL документа - в элементе/определение/документацию:Oracle Service Bus 12с: Элемент/Определение/документация переписывается в эффективном WSDL из службы прокси

<?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> 

Я могу развернуть службу на Service Bus 12c (12.2.1), и служба работает нормально. Когда я отображения WSDL из службы шины консоли (так называемый ресурс WSDL), то WSDL, как я ожидал, и включает в себя:

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

Однако, если я получаю эффективный WSDL (созданный Service Bus из WSDL ресурсов) по адресу: http://myserver:port/sbresource?PROXY/MyService/MyService

документация элемент переписывается:

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

версия элемент полностью отсутствует, однако его содержание по-прежнему присутствует.

Не могли бы вы посоветовать, почему это происходит, и есть ли доступ к обходному пути? Нам нужно сохранить элемент «version», чтобы синтаксические анализаторы могли получить служебную версию.

Моя цель - получить простое в использовании решение для потребителей услуг, то есть иметь один WSDL в качестве источника информации и позволить простому WSDL легко анализировать XPath.

+0

Вы пытались добавить пространство имен в ''? –

+0

Возможный дубликат [Следует ли избегать примера xml в аннотации документации xsd?] (Http://stackoverflow.com/questions/1087293/should-example-xml-in-an-xsd-documentation-annotation-be-escaped) –

+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 довольно-таки специфичен для Oracle SB и трудно понять для людей, которым просто нужен WSDL для выполнения этой работы ». – KarelHusa

+0

Я предполагаю, что наиболее надежный подход состоял бы в том, чтобы включить версию как элемент «fixed» в WSDL или как переменную, которая может быть возвращена из какой-либо операции «статус». –

Смежные вопросы