Почему я получаю эту ошибку Maven, когда пытаюсь скомпилировать приложение .car, связанное с проектом ESB, содержащим один прокси-сервер? - PullRequest
0 голосов
/ 12 октября 2018

Я изучал концепцию VFS и пытался реализовать этот учебник: https://docs.wso2.com/pages/viewpage.action?pageId=87712181

, но у меня есть некоторые сомнения по этому поводу:

Запуск ESBс этим примером конфигурации (как описано здесь: https://docs.wso2.com/display/EI620/Setting+Up+the+ESB+Samples#SettingUptheESBSamples-Startingasample) он работает нормально:

wso2ei-samples.bat -sn 254

Так что в основном у меня есть образец 254 , который определен в этом файле на моемПК:

C:\WSO2\EI\6.3.0\samples\service-bus\synapse_sample_254.xml

Я думаю, что запуск EI с предыдущим параметром -sn 253 выполнит этот поток.Как именно работает?Моя идея заключается в том, что он берет прокси в этот файл synapse_sample_254.xml и автоматически развертывает его после запуска EI.Но я абсолютно не уверен в этом утверждении.

Во всяком случае, так оно и работает.

Проблема в том, что я пытаюсь реализовать это поведение в проекте ESB, создавая прокси-сервер, и в этомесли это не работает.

Что я сделал:

1) Я создаю ESB Config Project (с именем VFSTest ).

2) В этом проекте я создаю пользовательский прокси .New -> Proxy Service -> Создать новую прокси-службу.Я установил «Имя службы прокси» на VFSProxy .Затем я выбрал Custom Proxy в качестве значения для Proxy Service Type .Итак, мой новый прокси создан.

3) Я вставляю следующий код для этого прокси (используя вкладку Source ):

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://ws.apache.org/ns/synapse">
    <proxy name="StockQuoteProxy" startOnLoad="true" transports="vfs">
        <target>
            <endpoint>
                <address format="soap12" uri="http://localhost:9000/services/SimpleStockQuoteService"/>
            </endpoint>
            <inSequence/>
            <outSequence>
                <property expression="fn:concat(fn:substring-after(get-property('MessageID'), 'urn:uuid:'), '.xml')" name="transport.vfs.ReplyFileName" scope="transport" type="STRING"/>
                <property name="OUT_ONLY" scope="default" type="STRING" value="true"/>
                <send>
                    <endpoint>
                        <address uri="vfs:file://C:\Users\nobil\OneDrive\Documenti\WSO2\RESOURCES\VFSTest\out"/>
                    </endpoint>
                </send>
            </outSequence>
            <faultSequence/>
        </target>
        <publishWSDL preservePolicy="true" uri="file:samples/service-bus/resources/proxy/sample_proxy_1.wsdl"/>
        <parameter name="transport.PollInterval">15</parameter>
        <parameter name="transport.vfs.FileURI">file://C:\Users\nobil\OneDrive\Documenti\WSO2\RESOURCES\VFSTest\in</parameter>
        <parameter name="transport.vfs.ContentType">text/xml</parameter>
        <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
        <parameter name="transport.vfs.MoveAfterFailure">file://C:\Users\nobil\OneDrive\Documenti\WSO2\RESOURCES\VFSTest\failure</parameter>
        <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
        <parameter name="transport.vfs.FileNamePattern">.*\.xml</parameter>
        <parameter name="transport.vfs.MoveAfterProcess">file://C:\Users\nobil\OneDrive\Documenti\WSO2\RESOURCES\VFSTest\success</parameter>
    </proxy>
</definitions>

(я заменил толькоЭта же строка заменена в предыдущем примере, связанном с каталогом и конечной точкой на моем ПК, это тот же код).

Итак, теперь у меня есть проект ESB, содержащий этот прокси.

Затем ясоздайте новый проект составного приложения с именем VFSTestCAP и добавьте предыдущий VFSTest ESB-проект в качестве зависимости.

В конечном итоге я выбираю pom.xml файл этого VFSTestCAP проекта, и я делаю Run As -> Maven Install , чтобы создать приложение .car , которое должно бытьразвернут на моем сервере.

Проблема заключается в том, что при таком способе Maven происходит сбой, это мой след стека:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building VFSTestCAP 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-resources-plugin/maven-metadata.xml
[INFO] Downloading: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-resources-plugin/maven-metadata.xml
[INFO] Downloading: http://dist.wso2.org/maven2/org/apache/maven/plugins/maven-resources-plugin/maven-metadata.xml
[INFO] Downloaded: http://dist.wso2.org/maven2/org/apache/maven/plugins/maven-resources-plugin/maven-metadata.xml (397 B at 0.3 KB/sec)
[INFO] Downloaded: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-resources-plugin/maven-metadata.xml (843 B at 0.6 KB/sec)
[INFO] Downloaded: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-resources-plugin/maven-metadata.xml (843 B at 0.6 KB/sec)
[INFO] Downloading: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml
[INFO] Downloading: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml
[INFO] Downloading: http://dist.wso2.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml
[INFO] Downloaded: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml (2 KB at 1.4 KB/sec)
[INFO] Downloaded: http://dist.wso2.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml (402 B at 0.5 KB/sec)
[INFO] Downloaded: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml (2 KB at 1.3 KB/sec)
[INFO] Downloading: http://dist.wso2.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/maven-metadata.xml
[INFO] Downloading: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-surefire-plugin/maven-metadata.xml
[INFO] Downloading: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-surefire-plugin/maven-metadata.xml
[INFO] Downloaded: http://dist.wso2.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/maven-metadata.xml (491 B at 0.6 KB/sec)
[INFO] Downloaded: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-surefire-plugin/maven-metadata.xml (2 KB at 2.0 KB/sec)
[INFO] Downloaded: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-surefire-plugin/maven-metadata.xml (2 KB at 2.0 KB/sec)
[INFO] Downloading: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-install-plugin/maven-metadata.xml
[INFO] Downloading: http://dist.wso2.org/maven2/org/apache/maven/plugins/maven-install-plugin/maven-metadata.xml
[INFO] Downloading: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-install-plugin/maven-metadata.xml
[INFO] Downloaded: http://dist.wso2.org/maven2/org/apache/maven/plugins/maven-install-plugin/maven-metadata.xml (366 B at 0.5 KB/sec)
[INFO] Downloaded: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-install-plugin/maven-metadata.xml (663 B at 0.8 KB/sec)
[INFO] Downloaded: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-install-plugin/maven-metadata.xml (663 B at 0.8 KB/sec)
[INFO] Downloading: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml
[INFO] Downloading: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml
[INFO] Downloading: http://dist.wso2.org/maven2/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml
[INFO] Downloaded: http://dist.wso2.org/maven2/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml (394 B at 0.5 KB/sec)
[INFO] Downloaded: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml (749 B at 0.9 KB/sec)
[INFO] Downloaded: http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml (749 B at 0.9 KB/sec)
[INFO] Downloading: http://maven.wso2.org/nexus/content/groups/wso2-public/com/example/VFSTest/proxy-service/VFSProxy/1.0.0/VFSProxy-1.0.0.pom
[INFO] Downloading: http://dist.wso2.org/maven2/com/example/VFSTest/proxy-service/VFSProxy/1.0.0/VFSProxy-1.0.0.pom
[INFO] Downloading: https://repo.maven.apache.org/maven2/com/example/VFSTest/proxy-service/VFSProxy/1.0.0/VFSProxy-1.0.0.pom
[WARNING] The POM for com.example.VFSTest.proxy-service:VFSProxy:xml:1.0.0 is missing, no dependency information available
[INFO] Downloading: http://maven.wso2.org/nexus/content/groups/wso2-public/com/example/VFSTest/proxy-service/VFSProxy/1.0.0/VFSProxy-1.0.0.xml
[INFO] Downloading: http://dist.wso2.org/maven2/com/example/VFSTest/proxy-service/VFSProxy/1.0.0/VFSProxy-1.0.0.xml
[INFO] Downloading: https://repo.maven.apache.org/maven2/com/example/VFSTest/proxy-service/VFSProxy/1.0.0/VFSProxy-1.0.0.xml
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.597 s
[INFO] Finished at: 2018-10-12T11:21:42+02:00
[INFO] Final Memory: 20M/295M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project VFSTestCAP: Could not resolve dependencies for project com.example.VFSTestCAP:VFSTestCAP:carbon/application:1.0.0: Could not find artifact com.example.VFSTest.proxy-service:VFSProxy:xml:1.0.0 in wso2-nexus (http://maven.wso2.org/nexus/content/groups/wso2-public/) -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

Как вы можете видеть, эта ошибка выглядит так:

[ERROR] Failed to execute goal on project VFSTestCAP: Could not resolve dependencies for project com.example.VFSTestCAP:VFSTestCAP:carbon/application:1.0.0: Could not find artifact com.example.VFSTest.proxy-service:VFSProxy:xml:1.0.0 in wso2-nexus (http://maven.wso2.org/nexus/content/groups/wso2-public/) -> [Help 1]

Почему он пытается получить VFSProxy от Nexus?Он определен в моем проекте ESB как поток XML.

В чем может быть проблема?Чего мне не хватает?Как я могу это исправить и создать развертываемое приложение для машины?

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Может быть несоответствие имени между именем, которое вы дали вашему новому прокси, и именем, которое вы скопировали с кодом из примера прокси (как показано в вашем посте).

Eclipse автоматически делает запись в файле artifacts.xml при создании нового прокси.Если имя не совпадает с именем в коде вашего прокси-сервера, это может вызвать проблему, когда maven пытается разрешить зависимости проекта CAR.

Лучший способ проверить это - сравнитьзависимости в файле pom с файлом artifacts.xml в проекте ESB.И если вы вносите изменения в имя, убедитесь, что вы совпадаете с именем в фактическом определении прокси (чтобы предотвратить будущие ошибки)

0 голосов
/ 12 октября 2018

Сначала вы должны построить прокси-проект так же, как вы это сделали с проектом capp.Теперь, если вы попытаетесь построить capp, это будет успешным, потому что соответствующая зависимость будет в вашем локальном хранилище maven.

PS: Если вы хотите использовать maven для создания файла автомобиля, лучше использовать многоканальный проект maven.Сначала будут установлены артефакты, а затем и CAPP.В противном случае достаточно просто экспортировать capp.

...