2009-10-17 31 views
6

Xin chào Tôi đang tìm cách tạo ra một dịch vụ SOAP trong ứng dụng Django của tôi, nhưng đã đi qua một vài trở ngại. Thứ nhất, tôi đã có thể theo dõi thành công hướng dẫn hello world soaplib (google "soaplib hello world" vì tôi chỉ có thể sử dụng 1 siêu liên kết vì đây là câu hỏi đầu tiên của tôi) sử dụng máy chủ CheryPy WSGI để chạy dịch vụ và khách hàng soaplib để bắt đầu một yêu cầu SOAP.Dịch vụ SOAP ở Django với soaplib

Tôi đang gặp sự cố khi chuyển đổi dịch vụ đó thành dịch vụ trong Django thông qua sau this djangosnippets snippet. Hiện tại tôi đang sử dụng máy chủ phát triển Django.

Xem http://localhost:8000/hello_world/ trong trình duyệt hoặc thực hiện một yêu cầu SOAP bằng cách sử dụng client soaplib trả về một trang lỗi Django với lỗi:

Tried hello_world_service in module foo.views. Error was: 'module' object has no attribute 'hello_world_service'

Rõ ràng urls.py là phù hợp một cách chính xác, nhưng theo đó django đoạn tôi liên kết với, không được xem hello_world_service.

Tôi cảm thấy tôi đang bỏ lỡ bước cuối cùng và mọi kiến ​​thức sẽ thực sự hữu ích.

Cảm ơn, Marcus

Trả lời

7

Theo đoạn bạn liên kết đến, dưới cùng của tập tin views.py của bạn nên chứa các dòng sau:

hello_world_service = HelloWorldService() 

này bản đồ một thể hiện của lớp HelloWorldService vào tên hello_world_service , để sử dụng trong tệp urls.py của bạn.

Nếu dòng đó được bao gồm, thì thực sự sẽ có chế độ xem với tên đó - do đó, Trình điều phối URL sẽ có thể tìm thấy nó.

Hope nào đó,

Rob

+0

Nhờ cướp, đó là chính xác những vấn đề, bây giờ tôi có thể đưa ra yêu cầu SOAP để Django. –

Các vấn đề liên quan