Tôi là người mới sử dụng CXF và đang cố tạo khách hàng từ WSDL. Tôi đã sử dụng Metro và Axis trong quá khứ. Tôi đã tải về apache-cxf-2.3.3 và sử dụng wsdl2java để tạo ra các cuống máy khách. Tôi sử dụng Maven và thiết lập nó pom của tôi với điều này:Đặt mức tuân thủ Java trong CXF wsdl2java
<properties>
<cxf.version>2.3.3</cxf.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-security</artifactId>
<version>${cxf.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
<optimize>true</optimize>
<debug>true</debug>
</configuration>
</plugin>
</plugins>
</build>
Khi tôi xây dựng dự án, tôi nhận được các lỗi này:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project client-cxf: Compilation failure: Compilation failure:
[ERROR] \Devel\Projects\Client-CXF\src\main\java\my\webservice\ServiceRuntimeException.java:[38,149] cannot find symbol
[ERROR] symbol : method required()
và
[ERROR] \Devel\Projects\Client-CXF\src\main\java\my\snmpv2\MyService.java:[76,8] cannot find symbol
[ERROR] symbol : constructor Service(java.net.URL,javax.xml.namespace.QName,javax.xml.ws.WebServiceFeature[])
[ERROR] location: class javax.xml.ws.Service
Dường như những vấn đề có liên quan đến thực tế là mã được tạo ra sử dụng các tính năng Java 6 (phần tử "require" cho XmlElementRef, các hàm tạo mới cho Dịch vụ) nhưng các phụ thuộc CXF Maven là dành cho Java 5.
Có cách nào để chỉ định rằng mã được tạo nên tuân thủ Java 5 không?
Cảm ơn bạn đã làm rõ về tính tương thích và sử dụng tùy chọn -fe. Mô tả trên http://cxf.apache.org/docs/wsdl-to-java.html không giải thích rõ ràng và người dùng có thể chỉ định phiên bản jax-ws nào cần sử dụng. – sdoca
Tuyệt vời, nó hoạt động ngay bây giờ cho tôi. – Dax