Какие варианты у меня есть, чтобы изменить расположение WSDL для веб-службы, используемой в Apex? - PullRequest
0 голосов
/ 03 марта 2010

Друзья,

Надеюсь, вы поможете решить проблему, с которой я столкнулся в Apex и веб-службах.

Я использовал мастер в Apex для создания ссылки на веб-сервис. Однако веб-сервис работает как положено ...

Один из шагов мастера требует расположения файла wsdl, который для разработки находится в расположении a.

Однако, когда приложение перемещается в QA, wsdl будет находиться в местоположении b, а когда оно будет запущено в производство, оно будет находиться в различных местах, в зависимости от требований клиента.

Я экспортировал приложение и, глядя на результирующий файл sql, вижу, что ссылка wsdl есть, но я бы предпочел не вносить поправки в этот файл, поскольку он может стать причиной ошибок или быть легко забытым в процессе установки.

Есть ли другие варианты, которые я должен изменить, местоположение wsdl? как теперь кажется, место разработки жестко запрограммировано в приложении!

Я обыскал форумы Apex OTN и обнаружил, что этот вопрос задавался здесь и здесь , но ответов не было.

В случае необходимости я использую Apex 3.2.1 и Oracle 10.2.0.3

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 04 марта 2010

У меня нет доступа SYS к моему экземпляру прямо сейчас, но в Apex я вижу, что веб-сервисы описываются представлением APEX_APPLICATION_WEB_SERVICES, которое запрашивает WWV_FLOW_SHARED_WEB_SERVICES.

Возможно, вы захотите тщательно протестировать это в непроизводственном экземпляре Apex, но вам, возможно, удастся избежать прямого обновления столбца URL этой таблицы.

Я не могу проверить это прямо сейчас, и нет никаких гарантий, что этот неподдерживаемый метод ничего не испортит.

1 голос
/ 03 марта 2010

Я не знаю, будет ли это работать для местоположения WSDL, но вы пытались настроить элемент приложения, например WSDL_LOCATION, а затем установить местоположение WSDL в '& WSDL_LOCATION.'? Затем вы можете выбрать значение в элементе приложения из таблицы через процесс приложения, который запускается в новом сеансе. Однако это будет работать только в том случае, если Apex выполняет подстановку переменных при доступе к местоположению WSDL.

...