2013-11-25 2 views
1

Как я могу позвонить в веб-службу внутри прокси? Сам прокси работает нормально, и я добавил вызов веб-службы ведения журнала в последовательности «in». Я создаю вызов с использованием фабрики + send.Как вызвать webservice в прокси WSO2

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

Я использую WSO2 ESB 4.6.0.

ответ

2

Это простой пример вызова веб-службы внутри прокси-сервера. Вы должны до фоновым службы до создания Прокси-сервер

<proxy xmlns="http://ws.apache.org/ns/synapse" name="customPro" transports="https,http" statistics="disable" trace="disable" startOnLoad="true"> 
    <target> 
     <inSequence> 
     <send> 
      <endpoint> 
       <address uri="http://localhost:9000/services/SimpleStockQuoteService"/> 
      </endpoint> 
     </send> 
     </inSequence> 
     <out-sequence> 
     <send/> 
     </outSequence> 
    </target> 
    <publishWSDL uri="http://localhost:9000/services/SimpleStockQuoteService?wsdl"/> 
    <description></description> 
</proxy> 

Вы должны определить веб-сервис URL в конечной точке в теге

Как и этот вид отправки медиатор возврата конечной точки ответ на outSequence по умолчанию.

Вы можете получить хорошее представление о них, если вы идете через документацию ESB из следующего URL

http://docs.wso2.org/display/ESB460/Samples

Если вам нужна дополнительная помощь, не стесняйтесь спросить здесь

+0

Здравствуйте, и спасибо за ваш ответ. Я попытаюсь более точно объяснить, что я имею в виду; У меня уже прокси-сервер, как показано выше, но я хочу добавить вызов для ведения журнала веб-службы, запрос которого я определил с помощью утилиты payloadFactory. Я могу сделать запрос, но я получаю ответ от веб-службы ведения журнала вместо конечной точки адреса, которая была использована в примере. Я читал образцы, но ответа на мою проблему не было. – Jaba

1

Есть два способа может достичь бревен

1. Регистрировать входящие и исходящие сообщения ESB через проводной журнал.

Включить режим отладки для проводных журналов; - консоль ESB> настройка> ведение журнала - установите для параметра "org.apache.synapse.transport.http.wire" значение "DEBUG".

В журнале, это означает >> входящих сообщения ESB

    << outgoing messages from ESB 

2. Используйте Бревно в соответствующем месте

<?xml version="1.0" encoding="UTF-8"?> 
<proxy xmlns="http://ws.apache.org/ns/synapse" 
     name="TestProxy" 
     transports="https,http" 
     statistics="disable" 
     trace="disable" 
     startOnLoad="true"> 
    <target> 
     <inSequence> 
     <log level="full"> 
      <property name="test" value="incomming to ESB-----------------------"/> 
     </log> 
     <send> 
      <endpoint> 
       <address uri="http://localhost:9000/services/SimpleStockQuoteService"/> 
      </endpoint> 
     </send> 
     <log level="full"> 
      <property name="test" value="outcomming from ESB-----------------------"/> 
     </log> 
     </inSequence> 
     <outSequence> 
     <log level="full"> 
      <property name="test" value="incomming to ESB-----------------------"/> 
     </log> 
     <send/> 
     <log level="full"> 
      <property name="test" value="outcomming from ESB-----------------------"/> 
     </log> 
     </outSequence> 
    </target> 
    <publishWSDL uri="http://localhost:9000/services/SimpleStockQuoteService?wsdl"/> 
    <description/> 
</proxy> 

Если это решить вашу проблему, пожалуйста, как флаг ответил.

+0

У меня уже есть такой журнал, но я хочу записать журнал в базу данных вместо файла журнала. Я сделал это с помощью посредника DBReport. – Jaba

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