2009-5-15 18:19:00 org.codehaus.xfire.handler.DefaultFaultHandler invoke
严重: Fault occurred!
org.codehaus.xfire.XFireRuntimeException: Could not read XML stream.. Nested exception is com.ctc.wstx.exc.WstxParsingException: Expected a text token, got START_ELEMENT.
 at [row,col {unknown-source}]: [1,503]
com.ctc.wstx.exc.WstxParsingException: Expected a text token, got START_ELEMENT.
 at [row,col {unknown-source}]: [1,503]
at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:605)
at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:461)
at com.ctc.wstx.sr.BasicStreamReader.getElementText(BasicStreamReader.java:677)
at org.codehaus.xfire.util.stax.DepthXMLStreamReader.getElementText(DepthXMLStreamReader.java:86)
at org.codehaus.xfire.util.stax.DepthXMLStreamReader.getElementText(DepthXMLStreamReader.java:86)
at org.codehaus.xfire.aegis.stax.ElementReader.getValue(ElementReader.java:122)
at org.codehaus.xfire.aegis.type.basic.StringType.readObject(StringType.java:21)
at org.codehaus.xfire.aegis.type.basic.BeanType.readObject(BeanType.java:159)
at org.codehaus.xfire.aegis.AegisBindingProvider.readParameter(AegisBindingProvider.java:169)
at org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding.java:206)
at org.codehaus.xfire.service.binding.WrappedBinding.readMessage(WrappedBinding.java:51)
at org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.accp.addressbooksys.web.filter.EncodingServlet.doFilter(EncodingServlet.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:835)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)
at java.lang.Thread.run(Thread.java:619)
2009-5-15 18:19:00 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet AddAbookServlet threw exception
org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Could not read XML stream.. Nested exception is com.ctc.wstx.exc.WstxParsingException: Expected a text token, got START_ELEMENT.
 at [row,col {unknown-source}]: [1,503]
org.codehaus.xfire.fault.XFireFault: Could not read XML stream.. Nested exception is com.ctc.wstx.exc.WstxParsingException: Expected a text token, got START_ELEMENT.
 at [row,col {unknown-source}]: [1,503]
at org.codehaus.xfire.fault.Soap11FaultSerializer.readMessage(Soap11FaultSerializer.java:31)
at org.codehaus.xfire.fault.SoapFaultSerializer.readMessage(SoapFaultSerializer.java:28)
at org.codehaus.xfire.soap.handler.ReadHeadersHandler.checkForFault(ReadHeadersHandler.java:111)
at org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(ReadHeadersHandler.java:67)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Client.onReceive(Client.java:406)
at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:139)
at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
at org.codehaus.xfire.client.Client.invoke(Client.java:336)
at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at $Proxy12.addAbook(Unknown Source)
at com.accp.ehome.servlet.AddAbookServlet.doGet(AddAbookServlet.java:74)
at com.accp.ehome.servlet.AddAbookServlet.doPost(AddAbookServlet.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:835)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)
at java.lang.Thread.run(Thread.java:619)

解决方案 »

  1.   

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

     //request.setCharacterEncoding("GBK");//加上这句之后就出错(如下面)...不加则得到的为乱码
    HttpSession session=request.getSession();
    User user=(User) session.getAttribute("user");
    if (user==null) {
    response.sendRedirect("main.jsp?info=notlogin");
    return;
    }else{ 
    if (user.getAbookId()==null||user.getAbookPwd()==null) {
    response.sendRedirect("SetAbook.jsp?info=noset");
    return;
    }
    }
    //获取通讯薄数据;
    int userId=(Integer)session.getAttribute("abookUserId");


    String address=request.getParameter("address");
    String company=request.getParameter("company");
    String email=request.getParameter("email");
    String mobilePhone=request.getParameter("mobilePhone");
    String name=request.getParameter("name");
    String phone=request.getParameter("phone");
    int relationId=Integer.parseInt(request.getParameter("relationId"));
    String sex=request.getParameter("sex");

    ObjectFactory objFactory=new ObjectFactory();
    AddressBook abook=objFactory.createAddressBook();
            abook.setAddress(objFactory.createAddressBookAddress(address));
            abook.setCompany(objFactory.createAddressBookCompany(company));
            abook.setEmail(objFactory.createAddressBookEmail(email));
            abook.setMobilePhone(objFactory.createAddressBookMobilePhone(mobilePhone));
            abook.setName(objFactory.createAddressBookName(name));
            abook.setPhone(objFactory.createAddressBookPhone(phone));
            abook.setRelationId(relationId);
            abook.setSex(objFactory.createAddressBookSex(sex));
            abook.setUserId(userId);
            abook.setId(0);
     
            AddressBookServiceClient client = new AddressBookServiceClient();
          
    //create a default service endpoint
            AddressBookServicePortType service = client.getAddressBookServiceHttpPort();
    boolean flag=service.addAbook(abook,user.getAbookId(), user.getAbookPwd());
    if (flag) {
    response.sendRedirect("addresult.jsp?add=true");
    }else {
    response.sendRedirect("addresult.jsp?add=false");
    }
     
    }
      

  2.   

    contentType="text/html;charset=GB2312" 不知道有没有用
      

  3.   

    难道msdn没高手,这都没人给个解决方案?