Webservice地址:http://*.*.*.*/podetailws.asmx(不好意思,由于安全问题*.*.*.*表示IP地址)利用axis自动生成的客户端类,执行时出现下面的错误,请教是什么原因。java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at psdi.webclient.system.beans.DataBean.callRemoteMethod(DataBean.java:5
255)
at psdi.webclient.system.beans.DataBean.callRemoteMethod(DataBean.java:5
238)
at psdi.webclient.system.tags.DefaultHandlerTag.doStartTag(DefaultHandle
rTag.java:105)
at jsp_servlet._webclient._controls._presentation.__control._jspService(
__control.java:2236)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:419)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:315)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispat
cherImpl.java:642)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispat
cherImpl.java:423)
at psdi.webclient.system.controller.ControlHandler.handleEvent(ControlHa
ndler.java:190)
at psdi.webclient.system.controller.RequestHandler.handleEvent(RequestHa
ndler.java:729)
at psdi.webclient.system.controller.RequestHandler.handleRequest(Request
Handler.java:294)
at psdi.webclient.servlet.WebClientServlet.handleRequest(WebClientServle
t.java:114)
at psdi.webclient.servlet.WebClientServlet.doPost(WebClientServlet.java:
44)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:419)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
va:27)
at psdi.webclient.system.filter.HttpGZIPFilter.doFilter(HttpGZIPFilter.j
ava:73)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
va:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:6724)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3764)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2644)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
Caused by: org.xml.sax.SAXParseException: Character reference "�" is an invali
d XML character.
at org.apache.axis.AxisFault.makeFault(AxisFault.java:129)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:543)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
at org.apache.axis.client.Call.invokeEngine(Call.java:2583)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:2248)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.axis.client.Call.invoke(Call.java:1691)
at cnooc.app.webService.PODetailWSSoapStub.getPODetail(PODetailWSSoapStu
b.java:327)
at cnooc.app.pack.CustPack.copyPOline(CustPack.java:146)
at cnooc.app.pack.CustPack.COPYSAPPO(CustPack.java:104)
... 34 more
Caused by: org.xml.sax.SAXParseException: Character reference "�" is an invali
d XML character.
at weblogic.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXPar
ser.java:1189)
at weblogic.xml.jaxp.WebLogicXMLReader.parse(WebLogicXMLReader.java:135) at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:152) at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContextImpl.parse(Deserializa
tionContextImpl.java:242)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
... 43 more我查了下,是在执行远程访问的invoke()函数时出现的“org.xml.sax.SAXParseException: Character reference "�" is an invalid XML character,”错误。
请问可能是什么原因?该如何解决,感激不尽。谢谢。我的QQ是4784182,欢迎加我的QQ互相交流。
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at psdi.webclient.system.beans.DataBean.callRemoteMethod(DataBean.java:5
255)
at psdi.webclient.system.beans.DataBean.callRemoteMethod(DataBean.java:5
238)
at psdi.webclient.system.tags.DefaultHandlerTag.doStartTag(DefaultHandle
rTag.java:105)
at jsp_servlet._webclient._controls._presentation.__control._jspService(
__control.java:2236)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:419)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:315)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispat
cherImpl.java:642)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispat
cherImpl.java:423)
at psdi.webclient.system.controller.ControlHandler.handleEvent(ControlHa
ndler.java:190)
at psdi.webclient.system.controller.RequestHandler.handleEvent(RequestHa
ndler.java:729)
at psdi.webclient.system.controller.RequestHandler.handleRequest(Request
Handler.java:294)
at psdi.webclient.servlet.WebClientServlet.handleRequest(WebClientServle
t.java:114)
at psdi.webclient.servlet.WebClientServlet.doPost(WebClientServlet.java:
44)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:419)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
va:27)
at psdi.webclient.system.filter.HttpGZIPFilter.doFilter(HttpGZIPFilter.j
ava:73)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
va:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:6724)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3764)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2644)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
Caused by: org.xml.sax.SAXParseException: Character reference "�" is an invali
d XML character.
at org.apache.axis.AxisFault.makeFault(AxisFault.java:129)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:543)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
at org.apache.axis.client.Call.invokeEngine(Call.java:2583)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:2248)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.axis.client.Call.invoke(Call.java:1691)
at cnooc.app.webService.PODetailWSSoapStub.getPODetail(PODetailWSSoapStu
b.java:327)
at cnooc.app.pack.CustPack.copyPOline(CustPack.java:146)
at cnooc.app.pack.CustPack.COPYSAPPO(CustPack.java:104)
... 34 more
Caused by: org.xml.sax.SAXParseException: Character reference "�" is an invali
d XML character.
at weblogic.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXPar
ser.java:1189)
at weblogic.xml.jaxp.WebLogicXMLReader.parse(WebLogicXMLReader.java:135) at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:152) at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContextImpl.parse(Deserializa
tionContextImpl.java:242)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
... 43 more我查了下,是在执行远程访问的invoke()函数时出现的“org.xml.sax.SAXParseException: Character reference "�" is an invalid XML character,”错误。
请问可能是什么原因?该如何解决,感激不尽。谢谢。我的QQ是4784182,欢迎加我的QQ互相交流。
解决方案 »
- Hibernate延迟加载问题
- 新手学JQuery:关于一个JQuery验证框架formVlaidator.js的问题
- struts2的标签问题,Online for the answer!!
- 动态的吸入文件问题?
- jsp运行问题!求教高手
- webservice服务端运行正常,其中一个客户端调用两次失败,第三次正常
- 如何注销web service
- 请问Hibernate的数据分页性能如何?
- 请问谁能告诉我ms sqlserver和jbuilder用odbc数据源建立连接的方法?
- 新手求助:Server Tomcat v8.0 Server at localhost failed to start.
- 验证URL是否真实有效
- 循环在一个数字前面填充0.谢谢
应该是解析的时候出错。
首先,
�少了个分号,不过即使加上那个分号通过Unicode转码也转换不出东西。应该是个不合法的字符。你应该看下你的Webservice地址(应该是个wsdl文件)那个xml文件中是否有非法字符。
<getRefStruData>
<BAPIPAREX>
<STRUCTURE xmlns="">BAPI_TE_PO_HEADER</STRUCTURE>
<VALUEPART1 xmlns="">4500019203��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������</VALUEPART1>
<VALUEPART2 xmlns="">������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������</VALUEPART2>
<VALUEPART3 xmlns="">������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������</VALUEPART3>
<VALUEPART4 xmlns="">������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������</VALUEPART4>
</BAPIPAREX>
</getRefStruData>由于我没权限修改WEBSERVICE服务器,我将得到的WSDL文件的上面有异常的这一部分去掉再重新生成客户端类,但还是不行,这种现象是不是表示WEBSERVICE服务器有问题?是不是必须在服务器端修改?
引用了"�"的Character 不是合法的xml字符。应该是xml格式问题。
1、由于我没办法查看和处理服务器端,我想请问能不能通过INVOKE()方法的相关参数设定来强制执行解析(即不管有没有错误强制执行)或者只解析我需要调取的那一部分数据,因为出错的这部分数据我完全可以不要。
2、如果哪位高手有其它解决方法也可以。期盼各位光临指教,谢谢!