Как использовать cxf-codegen-plugin и Apache Camel - PullRequest
0 голосов
/ 27 июня 2018

Я хочу создать верблюжий маршрут к конечной точке мыла. Я использую Eclipse. Первый шаг - вставить этот код в pom.xml:

<plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-codegen-plugin</artifactId>
    <version>${cxf.version}</version>
    <executions>
        <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <configuration>
                <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
                <wsdlOptions>
                    <wsdlOption>
                        <wsdl>http://localhost:8088/mockHello_Binding?wsdl</wsdl>
                        <wsdlLocation>classpath:wsdl/hello.wsdl</wsdlLocation>
                    </wsdlOption>
                </wsdlOptions>
            </configuration>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Затем я создаю новый маршрут:

SoapJaxbDataFormat soap = new SoapJaxbDataFormat("com.examples.wsdl.helloservice.HelloPortType", new ServiceInterfaceStrategy(HelloPortType.class, false));
soap.setVersion("1.2");

from("direct:start")
  .onException(Exception.class)
    .handled(true)
    .unmarshal(soap)
  .end()
  .marshal(soap)
  .to("file:C:\\ATemp\\")
  .unmarshal(soap);

Я также проверял это:

from("file:C:\\ATemp")
    .setHeader("Content-Type", simple("text/xml;charset=UTF-8"))
    .setHeader("SOAPAction", simple("http://example.com//sayHello"))
    .to("cxf://http://localhost:8088/mockHello_Binding"
            +"?wsdlURL=http://localhost:8088/mockHello_Binding?wsdl"
            +"&serviceName={http://example.com/}Hello_Service"
            +"&portName={http://example.com/}Hello_Port"
            +"&defaultOperationName=sayHello"
            +"&dataFormat=POJO"
            +"&serviceClass=com.examples.wsdl.helloservice.HelloPortType"
        );

Но ничего не помогает в обоих случаях я получаю ошибку:

Class Not Found

Что я должен сделать, чтобы заставить его работать?

...