2010-05-24 13 views
6

Tôi đã tạo một dịch vụ web bằng Visual Studio (2005 - Tôi biết tôi là trường cũ) và tất cả đều biên soạn tốt nhưng khi mở ra, tôi sẽ được cảnh báo như vậy:Dịch vụ web ASMX - "Dịch vụ web này đang sử dụng http://tempuri.org/ làm không gian tên mặc định của nó." tin nhắn - nhưng không nên là

Dịch vụ web này không phù hợp với Hồ sơ cơ bản WS-I v1.1.

Và hơn nữa:

dịch vụ web này được sử dụng như http://tempuri.org/ gian tên mặc định của nó.

Đó sẽ là tốt, ngoại trừ dịch vụ của tôi bắt đầu như sau:

[WebService(Namespace = "http://totally-not-default-uri.com/servicename")] 

Tìm kiếm toàn bộ thư mục giải pháp cho "tempuri" trả về không có gì. Tôi không thể tìm thấy nó được đề cập trong bất kỳ trang cấu hình acessible từ Visual Studio. Và nó nằm ngay trong danh sách wsdl: definitions cho thuộc tính xmlns: tns trên trang mô tả dịch vụ web khi tôi xem nó thông qua trình duyệt và như targetNamespace trong cùng một thẻ. Tôi đang xem nó bằng cách sử dụng chế độ "gỡ lỗi" của Visual Studio với máy chủ tích hợp từ đó.

Dường như có gì đó đã được lưu trữ ở đâu đó nhưng tôi không thể tìm ra cái gì và ở đâu - Tôi đã thử dừng và khởi động lại máy chủ, dọn dẹp và xây dựng lại dịch vụ và đi qua các tệp cấu hình văn bản có liên quan. không có con xúc xắc. Bất cứ ý tưởng những gì đang xảy ra?

Trả lời

6

Ahem.

Sau một lúc cố gắng tìm ra điều này, tôi đã quay lại ngay từ đầu và bắt đầu đặt câu hỏi về các giả định của mình. Thông thường trong tình huống như thế này nếu không ai có câu trả lời, tôi đang làm điều gì đó thực sự dày đặc. Chắc chắn, tôi có một vài lớp trong tệp Dịch vụ Web của tôi (vì nó là một bài kiểm tra và sẽ không được sử dụng trong thời gian dài) và tôi đã hoàn toàn sai lớp có tên trong tệp .asmx của tôi. mã hỗ trợ cho dịch vụ web.

Khi tôi đã sửa chữa, mọi thứ hoạt động tốt.

Tôi không tự hào, đó là xa khoảnh khắc đáng tự hào nhất của tôi, nhưng tôi sẽ để lại này chỉ trong trường hợp bất cứ ai khác chạy vào cùng một vấn đề ...

+2

Tôi nghĩ điều này khá xa so với sự dày đặc - hoàn toàn ngược lại, thực sự. Nó chỉ xảy ra với ... uh ... một người bạn của tôi. +1 từ tôi. –

2
  • 1 từ tôi quá. Tôi đã có cùng một vấn đề nhưng giải pháp hơi khác nhau: Vấn đề của tôi là bởi vì, giống như bạn, tôi đã có nhiều lớp học trong cùng một tập tin .asmx.cs. Tôi có các lớp dữ liệu ở trên cùng và lớp dịch vụ web bên dưới chúng và thuộc tính [WebService (Namespace = "...")] nằm ở đầu tệp, phía trên các lớp dữ liệu.

Tôi tìm thấy 2 giải pháp: di chuyển các lớp dữ liệu sang tệp mã của riêng chúng (có thể là tốt nhất) hoặc nếu bạn nhấn mạnh giữ nhiều lớp trong cùng một tệp, hãy di chuyển lớp dữ liệu DƯỚI lớp dịch vụ web hoặc di chuyển thuộc tính [WebService (Namespace = "...")] sang JUST TRƯỚC KHI lớp WebService.