WebService生成XML文件時出錯。不應是型別XXXX。使用XmlInclude或SoapInclude屬性靜態指定非已知的型別。
情況是這樣的有自定義的3個類,House、SaleHouse、RentHouse。SaleHouse和RentHouse是House類的子類。在WebService中有一個方法是返回House類。
1 [WebMethod]2 public House Get(int houseId)
3 {
4 return House.Get(houseId);
5 } 複製程式碼
除錯報錯如下:
System.InvalidOperationException: 生成 XML 文件時出錯。 ---> System.InvalidOperationException: 不應是型別 YajukeLib.Housing.SaleHouse。 使用 XmlInclude 或 SoapInclude 屬性靜態指定非已知的型別。
在網上查了一下資料,說是要使用屬性XmlIncludeAttribute。然後將[XmlInclude(typeof(House))]加到House類和WebService中。還是報上述的錯誤。加[Serializable]也不管用。
又在MSDN上查詢XmlIncludeAttribute的定義如下:允許 XmlSerializer 在它序列化或反序列化物件時識別型別。所以我想是因為方法返回的型別其實是House類的子類,XmlSerializer在序列化時只能識別父類,而不能識別子類,所以導致序列化的錯誤。所以我將[XmlInclude(typeof(SaleHouse))]和[XmlInclude(typeof(RentHouse))]同時加到WebService中,問題解決。
[XmlInclude(typeof(RentHouse))]publicclass HouseService : System.Web.Services.WebService
相關推薦
WebService生成XML文件時出錯。不應是型別XXXX。使用XmlInclude或SoapInclude屬性靜態指定非已知的型別。
情況是這樣的有自定義的3個類,House、SaleHouse、RentHouse。SaleHouse和RentHouse是House類的子類。在WebService中有一個方法是返回House類。 1 [WebMethod]2 public House Get(in
WebService生成XML文檔時出錯。不應是類型XXXX。使用XmlInclude或SoapInclude屬性靜態指定非已知的類型。
ces 錯誤 ali lse pub col ebs single .get 情況是SingleRoom和DoubleRoom是Room類的子類。在WebService中有一個方法是返回Room類。 public Room Get(int roomId) { re
生成 XML 文件時出錯。使用 XmlInclude 或 SoapInclude 特性靜態指定非已知的型別。
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using
對訊息 的正文進行序列化時出錯:“生成 XML 文件時出錯。”
c# 執行儲存過程時報錯:對訊息 的正文進行序列化時出錯:“生成 XML 文件時出錯。” 原因是在執行儲存過程時傳遞的裡面包含有表,但是我沒有給表命名。 解決方法是給宣告的表命名: DataTable I_AnnexTable = GetI_AnnexTable();
對訊息 的正文進行序列化時出錯:“生成 XML 文件時出錯。”
c# 執行儲存過程時報錯:對訊息 的正文進行序列化時出錯:“生成 XML 文件時出錯。” 原因是在執行儲存過程時傳遞的裡面包含有表,但是我沒有給表命名。 解決方法是給宣告的表命名: DataTable I_AnnexTable = GetI_AnnexTable()
WebService 在傳回 ArrayList 時說: XML 文件時出錯
System.InvalidOperationException: 生成 XML 文件時出錯。 ---> System.InvalidOperationException: CProxyTypeSpace_EntityRoleEntity_NHibernate_Prox
webservice 傳輸Xml文件時的XmlDocument會被直接轉化成XmlNode 想要把它轉回到XmlDocument採用如下變紅的方法。
[WebMethod] public XmlDocument GetXmlDocument() { // Create an XmlDocument object. XmlDocument xmlDocumentObject = new XmlDocument(); XmlDocumentObject.Lo
java 生成 xml 文件
new output org enc class 註意 created ear str 解析會了,那接著來學學生成~ 同樣的引入依賴: import java.io.File; import java.io.FileOutputStream; import or
使用多個項目生成Xml文件來顯示幫助文檔
spa 的人 ber this blog -i 項目 對比 方便 終於到這了,我們首先將Product單獨作為一個項目 WebAPI2PostMan.WebModel 並引用他,查看文檔如下。 你會發現,你的註釋也就是屬性的描述沒有了。打開App_Data/XmlDocu
android 中生成xml文件
android 寫xml文件 在Android中生成xml文件真的很簡單,下面提供2中方法,一種是通過String寫入到文件,另外一種是通過XML 的 XmlSerializer.以後遇到Android寫xml內容就不會困惑了1、通過string寫入文件 String name=mEtName.
Mybatis自動生成Xml文件,針對字段類型為text等會默認產生XXXXWithBlobs的方法問題
div 生成xml文件 處理 pre cnblogs href 字段 默認 mybatis 默認情況下產生的Mapper.xml裏面存在: 需要修改generatorConfiguration.xml,裏面的table加屬性,如: <t
省廳報件7.0 讀取mdb 生成xml 文件
tel long {0} datetime fda string console .get exceptio using System;using System.Collections.Generic;using System.Data;using System.Data.
SQL server 導出平面文件時出錯: The code page on Destination - 3_txt.Inputs[Flat File Destination Input].Columns[UserId] is 936 and is required to be 1252.
log 解決辦法 驗證 AI inpu image ans post BE 我在導出平面文件時:Error 0xc00470d4: Data Flow Task 1: The code page on Destination - 3_txt.Inputs[Flat File
eclipse中如何設置在新建JSP/XML文件時就指定編碼UTF-8?
cli Language family ref 發現 encoding 需要 unicode tty eclipse新建jsp文件默認字符編碼為ISO-8859-1,很煩人,每次都需要更改 <%@ page language="java" contentType=
安卓使用StringBuffer和FileOutputStream生成xml文件
該程式是在安卓中點選生成xml按鈕,在sdcard生成一個名為smsbackup的xml文件 佈局就不多說了,先在存放java的資料夾中新建一個Sms類用來宣告變數 Sms程式碼如下: package com.example.createxmlv1; public class Sm
dom4j生成xml文件
format doc bsp xml文件 out ted 通過 package orm 1 package xml; 2 3 import java.io.FileWriter; 4 import java.io.IOException; 5 import ja
Dom4j解析和生成XML文件
一、前言 dom4j是一套非常優秀的java開源api,主要用於讀寫xml文件,具有效能優異、功能強大、和非常方便使用的特點。 另外xml經常用於資料交換的載體,像呼叫webservice傳遞的引數,以及資料做同步操作等等, 所以使用dom4
Xml—dom4j解析以及寫入xml文件時的亂碼問題
book.xml <?xml version="1.0" encoding="UTF-8"?> <書架> <書> <書名>Java就業基礎教程</書名> <作者>張孝祥</作者
Java解析XML與生成XML文件
mysq for 二進制 根據 port des void pub pack XML是eXtensible Markup Language(可擴展標記語言)的簡寫形式,它是一種元標記語言(meta-markup language),也就是說它沒有一套能夠適用於各個領域中所
根據xsd生成xml文件的c#實現(轉)
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;us