与NC集成,传输XML格式文件给他们,试过了好几种方式传输,都是返回的从输入流转换document出错:请检验文档格式,以下是目前的代码,也是NC给的文档里面写的方式,求大侠们帮忙看看,感谢!
String url = "http://...../service/XChangeServlet?account=999";//nc系统接收url
URL realURL = new URL(url);
HttpURLConnection connection = (HttpURLConnection) realURL
.openConnection();
connection.setDoOutput(true);
connection.setRequestProperty("Contect-type", "text/xml");
connection.setRequestMethod("POST");
// 将Document对象写入连接的输出流中
File file = new File("C:/landray/voucher333.xml");
InputStream input = new FileInputStream(file);
connection.getOutputStream().write(xml.getBytes("UTF-8"));
InputStreamReader isr2 = new InputStreamReader(input);
BufferedReader bufreader2 = new BufferedReader(isr2);
String xmlString2 = "";
int d;
System.out.println("==================Beging输入====================");
while ((d = bufreader2.read()) != -1) {
System.out.print((char) d);
xmlString2 += (char) d;
}
input.close();
System.out.println("===================End输入======================");
Document resDoc2 = DocumentHelper.parseText(xmlString2);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
// 从连接的输入流中取得回执信息
InputStream inputStream = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(inputStream);
BufferedReader bufreader = new BufferedReader(isr);
String xmlString = "";
int c;
System.out
.println("==================Beging输出====================");
while ((c = bufreader.read()) != -1) {
System.out.print((char) c);
xmlString += (char) c;
}
input.close();
System.out
.println("===================End输出======================");
String url = "http://...../service/XChangeServlet?account=999";//nc系统接收url
URL realURL = new URL(url);
HttpURLConnection connection = (HttpURLConnection) realURL
.openConnection();
connection.setDoOutput(true);
connection.setRequestProperty("Contect-type", "text/xml");
connection.setRequestMethod("POST");
// 将Document对象写入连接的输出流中
File file = new File("C:/landray/voucher333.xml");
InputStream input = new FileInputStream(file);
connection.getOutputStream().write(xml.getBytes("UTF-8"));
InputStreamReader isr2 = new InputStreamReader(input);
BufferedReader bufreader2 = new BufferedReader(isr2);
String xmlString2 = "";
int d;
System.out.println("==================Beging输入====================");
while ((d = bufreader2.read()) != -1) {
System.out.print((char) d);
xmlString2 += (char) d;
}
input.close();
System.out.println("===================End输入======================");
Document resDoc2 = DocumentHelper.parseText(xmlString2);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
// 从连接的输入流中取得回执信息
InputStream inputStream = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(inputStream);
BufferedReader bufreader = new BufferedReader(isr);
String xmlString = "";
int c;
System.out
.println("==================Beging输出====================");
while ((c = bufreader.read()) != -1) {
System.out.print((char) c);
xmlString += (char) c;
}
input.close();
System.out
.println("===================End输出======================");
解决方案 »
- CSDN-CSDN社区-Java-非技术区
- 后台错误页面重定向问题
- 在struts的模型组件里如何获取DataSource?
- weblogic可不可以支持2个作业分别同时插入数据库的操作???
- 高分求助 eclipse配置hibernate插件问题
- 为什么我按下在JColorChooser中按确定以后没有效果呢?
- 初学Struts!
- 有没有谁看过《java核心技术》VolumeII ?给点意见吧,谢了。
- struts 问题
- 谁有支持jboss3.2.2的lomboz?
- org.springframework.beans.factory.BeanCreationException: Error creating bean wit
- mybatis+spring-boot出现Invalid bound statement (not found):问题
==================Beging输出====================
<?xml version="1.0" encoding='UTF-8'?>
<ufinterface billtype="" filename="" isexchange="Y" proc="" receiver="" replace="Y" roottag="sendresult" sender="" successful="N">
<sendresult>
<billpk>
</billpk>
<bdocid>
</bdocid>
<filename>
</filename>
<resultcode>-31003</resultcode>
<resultdescription>从输入流转换document出错:请检验文档格式。\n</resultdescription>
<content></content>
</sendresult>
</ufinterface>
===================End输出======================
<ufinterface billtype="" filename="" isexchange="Y" proc="" receiver="" replace="Y" roottag="sendresult" sender="" successful="N">
<sendresult>
<billpk>
</billpk>
<bdocid>
</bdocid>
<filename>
</filename>
<resultcode>-31003</resultcode>
<resultdescription>从输入流转换document出错:请检验文档格式。\n</resultdescription>
<content></content>
</sendresult>
</ufinterface>
<ufinterface billtype="" filename="" isexchange="Y" proc="" receiver="" replace="Y" roottag="sendresult" sender="" successful="N">
<sendresult>
<billpk>
</billpk>
<bdocid>
</bdocid>
<filename>
</filename>
<resultcode>-31003</resultcode>
<resultdescription>从输入流转换document出错:请检验文档格式。\n</resultdescription>
<content></content>
</sendresult>
</ufinterface>你自己程序有问题没?不会他里面本来就是这样的文字吧、、
<ufinterface billtype="" filename="" isexchange="Y" proc="" receiver="" replace="Y" roottag="sendresult" sender="" successful="N">
<sendresult>
<billpk>
</billpk>
<bdocid>
</bdocid>
<filename>
</filename>
<resultcode>-31003</resultcode>
<resultdescription>从输入流转换document出错:请检验文档格式。\n</resultdescription>
<content></content>
</sendresult>
</ufinterface>应该是我们通过get方式请求才会返回这个,我看到挺多人都有遇到这种情况就是没看到处理方式,,
从输入流转换document出错:请检验文档格式。
<resultcode>-31003</resultcode>
<resultdescription>从输入流转换document出错:请检验文档格式。\n</resultdescription>你是怎么解决的?谢谢