2012-02-15 25 views
5

Khi cố gắng để tạo ra một thể hiện của một dịch vụ, tôi nhận được mộtdịch vụ Web: Phương pháp không thể được phản ánh ngoại lệ

"Phương pháp không thể được phản ánh"

ngoại lệ. Đào sâu xuống trong trường hợp ngoại lệ bên trong cho thấy:

"Các loại 'WebServiceClient.com.compamy.string1' và 'WebServiceClient.com.company.string' đều sử dụng tên kiểu XML, 'string', từ không gian tên 'http://www.w3.org/2001/XMLSchema'. Sử dụng thuộc tính XML để chỉ định tên XML và/hoặc không gian tên duy nhất cho loại . "

Điều gì làm tôi muốn? Nó là mã tự động được tạo ra bởi VS2010 ... tại sao tôi phải fiddle với nó?

Dưới đây là hai loại:

[GeneratedCode("System.Xml", "4.0.30319.233")] 
[Serializable] 
[DebuggerStepThrough] 
[DesignerCategory("code")] 
[XmlType(TypeName = "string", Namespace = "http://www.w3.org/2001/XMLSchema")] 
[XmlRoot("FileName", Namespace = "http://company.com/api3/Content/Download/", IsNullable = true)] 
public partial class string1 : SoapHeader 

[GeneratedCode("System.Xml", "4.0.30319.233")] 
[Serializable] 
[DebuggerStepThrougt] 
[DesignerCategory("code")] 
[XmlTypeAttribute(Namespace = "http://www.w3.org/2001/XMLSchema")] 
[XmlRootAttribute("SessionKey", Namespace = "ns", IsNullable = true)] 
public partial class @string : SoapHeader 
+0

Tại sao không đặt tên nó là 'StringHeader: SoapHeader'? – abatishchev

Trả lời

7

Tôi tìm thấy một giải pháp nhưng tôi không thể giải thích tại sao nó đang làm việc. Tôi chỉ cần xóa tất cả các thuộc tính ánh xạ kiểu từ tất cả các phương thức và tôi không nhận được thêm bất kỳ lỗi nào.

dòng loại bỏ:

[XmlType(TypeName = "string", Namespace = "http://www.w3.org/2001/XMLSchema")] 

Nếu ai đó có thể giải thích tôi sẽ thực sự đánh giá cao nó!

+0

Bạn có đến giải pháp nào về lý do tại sao điều này xảy ra không, tôi có cùng một vấn đề nhưng với JSON. – Marcus

+1

Tôi đã có cùng một vấn đề khi tôi gọi một webservice được viết bằng java (không chắc chắn nếu điều đó quan trọng) từ một khách hàng C#, cũng loại bỏ các thuộc tính ánh xạ kiểu và nó đã làm việc! không thể hiểu tại sao! –

+1

Bạn nói lý do tại sao nó không hoạt động chỉ bằng cách khôi phục lỗi và bạn có thể thấy lý do tại sao trong thuộc tính của bạn nơi không gian tên của bạn khác nhau. Không gian tên mong đợi đối tượng đang mong đợi một kiểu chuỗi, hoặc ít nhất là khi tuần tự hóa, nút sẽ là "chuỗi". Tôi đã có cả hai loại và một lỗi tương tự như của không gian tên của bạn. Tôi đã thử gửi xml của tôi với "w3" như bạn, sau đó với một thư viện xà phòng có sẵn, và nó cuối cùng đã làm việc khi tôi tham chiếu url của api nơi wsdl là ... nếu bạn sử dụng một wsdl để lấy lược đồ của bạn có thể thử – user1040975

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