标签: xml-serialization

带有消息序列化的 WCF

我正在编写一个简单的 wcf 服务,将请求提交给某个网关进行处理。

正在通过执行以下操作来执行请求:

我正在编写一个 WCF 服务,该服务将请求提交给一些期望得到如下内容的服务:

gatewayService.SendRequest(request);
Run Code Online (Sandbox Code Playgroud)

其中 gatewayService 是 WCF 代理,请求是我自己的对象,它继承了 WCF Message 对象。

请求对象有几个属性,如:

[MessageBodyMember]
public ReportCommandLineRequest ReportRequest { get; set; }

[MessageBodyMember]
public ImportCommandLineRequest ImportRequest { get; set; }
Run Code Online (Sandbox Code Playgroud)

我的问题是当这个请求对象被序列化时。在服务器端,我收到了一条看起来像这样的大块肥皂消息:

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
            xmlns:a="http://www.w3.org/2005/08/addressing">
   <s:Header>
      <a:Action s:mustUnderstand="1">http://tempuri.org/IReportClient/RunReport/IGatewayAdapter/SendRequest</a:Action>
      <VsDebuggerCausalityData xmlns="http://schemas.microsoft.com/vstudio/diagnostics/servicemodelsink">uIDPo4jiWNjcsdxHiUhlOA63xYEAAAAApgt+BuVvcEixP33+yOQTgRHZQSyr4L5ImMHVeEWLFBMACQAA</VsDebuggerCausalityData>
      <a:To s:mustUnderstand="1">net.tems://localhost:7222/queue/LB.FIA.Gateway.STAGE.InputQueue</a:To>
   </s:Header>
   <s:Body>
      <SendRequest xmlns="http://tempuri.org/IReportClient/RunReport">
          <request xmlns:b="http://schemas.datacontract.org/2004/07....
Run Code Online (Sandbox Code Playgroud)

另一方面,我希望在服务器端只得到上面列出的属性的序列化(ReportRequest/ImportRequest),并希望得到一个序列化的 xml 看起来像这样(没有里面的所有垃圾:

<ReportCommandLineRequest>
  <outputFileName>gatewayReportOutput-01082010-150043.pdf</outputFileName>
  <CommandLineArg
    name="format"
..
</ReportCommandLineRequest>
Run Code Online (Sandbox Code Playgroud)

谁能帮我弄清楚我该怎么做?

谢谢。

wcf serialization xml-serialization

0
推荐指数
1
解决办法
2138
查看次数

适用于 Java 的简单 XML 序列化程序

我正在寻找一种将 Java 对象序列化为 XML 以供 RESTful Web 服务使用的方法。我没有 XSD。

我看过以下内容:

  1. JAXB - 相当重的类需要注释,还有一个 ObjectFactory 类和/或一个 jaxb.in​​dex 文件

  2. 简单 - 需要注释但不需要其他配置类/文件。不幸的是它不能序列化集合。

  3. XStream - 不需要注释等,但不支持泛型

还有其他人有什么建议吗?

java xml-serialization

0
推荐指数
1
解决办法
2万
查看次数

错误是什么:在反序列化过程中'字符串未被识别为有效的DateTime'?

[XmlElement(ElementName = ElementConstants.CreateDate, 
    Namespace = "http://api.facebook.com/1.0/",
    DataType = "date", Type = typeof(DateTime))]
public DateTime CreateDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

如果我尝试在属性中取出DataType:{"字符串'1233469624'不是有效的AllXsd值."}

以下是其中一个节点值的示例:

<created>1230437805</created>
Run Code Online (Sandbox Code Playgroud)

我不知道如何在这里设置DateTime属性,以便成功反序列化.

c# xml-serialization

-1
推荐指数
2
解决办法
5713
查看次数

将XmlSerializer的输出加载到XmlDictionaryReader中

我正面临这个问题

class person
{
;
}

person p = new person();
XmlSerializer ser = new XmlSerializer(p.GetType());
FileStream fs = File.Open("sam.xml",FileMode.OpenOrCreate, FileAccess.Write);

ser.Serialize(fs,p)

fs.flush();
fs.close();

FileStream stream = FileStream("sam.xml", FileMode.Open);
XmlDictionaryReader xdr = XmlDictionaryReader.CreateTextReader(stream,new XmlDictionaryReaderQuotas());
Run Code Online (Sandbox Code Playgroud)

现在我的问题是如何在不创建xml文件的情况下创建xdr对象.

c# xml serialization xml-serialization filestream

-1
推荐指数
1
解决办法
2343
查看次数

使用C#和Serialize类序列化XML

我正在尝试序列化这个XML,我已经完成了大部分工作,但我想正确地对信息进行分类,这是我当前的输出.

          <CountryData>
          <CountryName Type="Text">United States of America</CountryName>
          <CountryName Type="Text">Kingdom of Belgium</CountryName>
          <CountryCode Type="Text">US</CountryCode >
          <CountryCode Type="Text">BE</CountryCode >
          <PercentOfBusiness Type="Numeric">0.5</PercentOfBusiness>
          <PercentOfBusiness Type="Numeric">0.5</PercentOfBusiness>
          <AverageBusiness Type="Numeric">3.5%</AverageBusiness >
          <AverageBusiness Type="Numeric">3.5%</AverageBusiness >
          <SalesMade Type="Text">Very low </SalesMade >
          <SalesMade Type="Text">Low</SalesMade >
         </CountryData>
Run Code Online (Sandbox Code Playgroud)

但我希望这样

          <CountryData>
            <Country>
               <CountryName Type="Text">United States of America</CountryName>              
               <CountryCode Type="Text">US</CountryCode >         
               <PercentOfBusiness Type="Numeric">0.5</PercentOfBusiness>
               <AverageBusiness Type="Numeric">3.5</AverageBusiness >
               <SalesMade Type="Text">Very low</SalesMade >
            </Country>
            <Country>
               <CountryName Type="Text">Kingdom of Belgium</CountryName>
               <CountryCode Type="Text">BE</CountryCode >
               <PercentOfBusiness Type="Numeric">0.5</PercentOfBusiness>
               <AverageBusiness Type="Numeric">3.5</AverageBusiness >
               <SalesMade Type="Text">low</SalesMade >
               </Country>
              </CountryData>
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的

    public class CountryData
    { …
Run Code Online (Sandbox Code Playgroud)

c# xml serialization xml-serialization

-2
推荐指数
1
解决办法
325
查看次数

使用序列化创建XML文件

我想创建一个具有以下结构的XML文件.任何人都可以给我一个可以序列化/反序列化这个XML的类吗?

<Disposition>
    <DispositionTextList Description="">
        <DispositionText value="">
        <DispositionText value="">
    </DispositionTextList>
    <DispositionTextList Description="">
        <DispositionText value="">
        <DispositionText value="">
    </DispositionTextList>
</Disposition>
Run Code Online (Sandbox Code Playgroud)

c# xml-serialization

-3
推荐指数
1
解决办法
260
查看次数

标签 统计

xml-serialization ×6

c# ×4

serialization ×3

xml ×2

filestream ×1

java ×1

wcf ×1