2012-03-30 92 views
1

我试图用OopFactory X12解析
这里是我的代码OopFactory X12分析器打破

var parser = new X12Parser(); 
      var _response = response.GetResponseStream(); 
Interchange interchange = parser.Parse(_response); 
      string value = interchange.Serialize(); 
      response.Close(); 

在这里抛出一个错误解析响应流中parser.Parse(_response);

错误:
1不是文件位置105中的有效子元素分隔符。

我的响应文件:

ISA*00*   *01*JILITTQQPK*ZZ*S00000000000001*ZZ*T00000000021261*120330*1048**00501*021465163*0*T*> 

注:

这只是发生在我的dev的服务器,如果我在本地运行我的应用程序,这将没有问题的工作。

我想知道dev上的响应是否与本地相同。 如何捕获开发流的响应和比较我的本地?

更新


我捕获了我对文件的响应。 这就是它的样子。

ISA*00*   *01*NOPASS *ZZ*S00000000000001*ZZ**120405*1000**00501*021539342*0*T*>~TA1*17049371*120405*1000*R*018~IEA*0*021539342~ 

回答

1

ISA08应该包含15个字符。在您的响应文件中,ISA08没有任何数据。因此,部分TA1段正在被解析为固定宽度ISA段的一部分。

+0

上,你是对的。这是我的问题。我修好了它。谢谢 – HaBo 2012-04-09 18:02:34

0

也许您的响应流在开发服务器上包含额外的头信息。 您应该添加一些额外的行来将响应写入文件,并查看它是否纯粹是返回的X12消息。 您也可以将您的问题发布到http://x12parser.codeplex.com/discussions,这可能会得到更多回复。

+0

请参阅更新的问题。我已经捕获了我对文件的回应。我把它发布在我的问题 – HaBo 2012-04-05 15:03:08