2012-05-07 18 views
9

Tôi đang cố gắng tạo thư viện khách hàng để truy cập Mantis từ java. Vấn đề là tôi đang gặp lỗi và tôi không biết tại sao.wsimport không thành công khi cố tạo thư viện dịch vụ khách hàng

Chạy lệnh này:

wsimport http://www.mantisbt.org/demo/api/soap/mantisconnect.php?wsdl 

chỉ đơn giản là thất bại. Đây là vụ phải tạo ra một số loại thư viện client để truy cập vào dịch vụ từ java, nhưng tôi nhận được lỗi này:

[ERROR] "Use of SOAP Encoding is not supported. 
SOAP extension element on line 1,075 in http://www.mantisbt.org/demo/api 
/soap/mantisconnect.php?wsdl has use="encoded" " 

Tôi nhìn trên internet và có tài liệu tham khảo không rõ ràng lỗi này, mà có vẻ như là một lỗi của một chỉ thị, nhưng nó không phải là trường hợp: Tôi đã cố gắng để khắc phục vấn đề này với một phiên bản tải về của xml và nó đã không hoạt động.

Tôi nghĩ rằng tôi có thể cần một số loại danh mục để đạt được thế hệ này thành công, có phải không? Nếu vậy, có ai làm thế nào để tạo ra điều này? Tôi đã thực hiện một số tìm kiếm nhưng kiến ​​thức về dịch vụ web nói chung là quá hạn chế để đạt được điều đó.

Cảm ơn trước,

Trả lời

1

Đang sử dụng Axis 1.4 một tùy chọn? Nếu có, chúng tôi đã triển khai Axis 1 SOAP stubs for MantisBT trên trung tâm Maven.

Ngoài ra, có một dự án nguồn trên Github tại jerr/mantis-ws-client nên làm thế nào để tạo các tạo phẩm với JAX-RPC.

+0

Cảm ơn. API của bọ ngựa này làm tôi thất vọng. Và không có cách nào "thanh lịch" để kết nối java và bọ ngựa ngoài việc này. –

+0

Không phải là tôi biết. Đặt mũ đóng góp Mantis của tôi, hãy gửi một bản vá :-) https://github.com/mantisbt/mantisbt –

+0

@RobertMunteanu 'mantis-ws-client' không phải bất kỳ tài liệu nào để sử dụng. ypu có thể giúp tôi sử dụng nó không? –

1

Điểm mấu chốt của vấn đề là các WSDL bọ ngựa đang diễn tả một/mã hóa dịch vụ web rpc và phong cách mà không được hỗ trợ trong công cụ wsimport hiện đại.

Việc viết tốt các kiểu dịch vụ web khác nhau là http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/.

Câu hỏi liên quan và câu trả lời tự phục vụ được cung cấp tại Best way to consume RPC/encoded webservice?. Câu trả lời đó làm cho nhận xét 'Tôi cũng nghi ngờ về việc sử dụng JAX-RPC cho công việc này, bởi vì nó đã lỗi thời.', Nhưng đó thực sự là những gì bạn đang xử lý ở đây để sử dụng 'thư viện cũ' đúng cách để đi.

+0

Cảm ơn câu trả lời của bạn, tôi sẽ xem xét bài viết bạn đã cung cấp. Tôi nghĩ rằng tôi cần một câu trả lời cụ thể, mặc dù lời giải thích rõ ràng của bạn về vấn đề đằng sau, tôi phải thú nhận rằng phiếu bầu của tôi dành cho Rober Munteanu. –