问题描述
在javawebservice中发布了一个insertObject(Objecto)的方法,其中传入的o是hibernate中的pojo类在c#客户端调用时出现警告:客户端发现响应内容类型为“text/html;charset=utf-8”,但应为“text/xml”。请求失败,错误信息为:--<html><head><title>ApacheTomcat/5.5.20-Errorreport</title><style><!--H1{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}H2{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}H3{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}BODY{font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}B{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}P{font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A{color:black;}A.name{color:black;}HR{color:#525D76;}--></style></head><body><h1>HTTPStatus500-</h1><HRsize="1"noshade="noshade"><p><b>type</b>Exceptionreport</p><p><b>message</b><u></u></p><p><b>description</b><u>Theserverencounteredaninternalerror()thatpreventeditfromfulfillingthisrequest.</u></p><p><b>exception</b><pre>javax.servlet.ServletException:Erroroccuredduringrequestprocessing:nullorg.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:757)org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:658)org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:357)javax.servlet.http.HttpServlet.service(HttpServlet.java:709)javax.servlet.http.HttpServlet.service(HttpServlet.java:802)</pre></p><p><b>rootcause</b><pre>java.lang.StackOverflowErrorcom.ctc.wstx.sr.NsAttributeCollector.getValue(NsAttributeCollector.java:329)com.ctc.wstx.sr.BasicStreamReader.getAttributeValue(BasicStreamReader.java:643)org.codehaus.xfire.util.stax.DepthXMLStreamReader.getAttributeValue(DepthXMLStreamReader.java:75)org.codehaus.xfire.util.stax.DepthXMLStreamReader.getAttributeValue(DepthXMLStreamReader.java:75)org.codehaus.xfire.aegis.stax.ElementReader.getAttributeReader(ElementReader.java:256)org.codehaus.xfire.aegis.type.basic.ObjectType.readObject(ObjectType.java:70)org.codehaus.xfire.aegis.type.basic.ObjectType.readObject(ObjectType.java:133)org.codehaus.xfire.aegis.type.basic.ObjectType.readObject(ObjectType.java:133)org.codehaus.xfire.aegis.type.basic.ObjectType.readObject(ObjectType.java:133)org.codehaus.xfire.aegis.type.basic.ObjectType.readObject(ObjectType.java:133)
解决方案
解决方案二:
C# webservice的web.config出现乱码.
解决方案三:
这个问题是编码的问题。。response.contenttype设置为"text/plain”试下
解决方案四:
出现这个错误,肯定是你返回的数据不是XML格式的,你Debug一下,测试下你的方法返回数据是否正确,估计是异常了,返回的异常信息
解决方案五:
在配置文件里设置一下编码代码,它有可能是读配置里的xml编码
解决方案六:
引用2楼windstore的回复:
这个问题是编码的问题。。response.contenttype设置为"text/plain”试下
请问一下:在那设置这个response.contenttype?
解决方案七:
引用3楼windstore的回复:
出现这个错误,肯定是你返回的数据不是XML格式的,你Debug一下,测试下你的方法返回数据是否正确,估计是异常了,返回的异常信息
这个和返回类型无关,我返回的是boolean,是从c#想javawevservice传参数有关。
解决方案八:
这个问题我也碰到过,我是在我的C#客户端的app.config文件里修改<binding....messageEncoding="Mtom">,就可以成功了,不知道对你有没有帮助。
解决方案九:
该回复于2009-06-19 09:42:31被版主删除
解决方案十:
我也遇到了这个问题还没解决