本人最近用Axis2用一个小的服务系统,用作两个不同系统之间进行数据同步,服务端部署成功,当用客户端去测试时,出现如下错误,请各位大侠多多指教!!!!!Exception in thread "main" org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character ' ' (code 32) in content after '<' (malformed start element?).
 at [row,col {unknown-source}]: [1,283]
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at com.swe.wipn.services.loadingpreparation.LoadingPreparationStub.fromOM(LoadingPreparationStub.java:370)
at com.swe.wipn.services.loadingpreparation.LoadingPreparationStub.LoadingPreparationRequest(LoadingPreparationStub.java:183)
at lsl.test.Test.main(Test.java:41)
Caused by: java.lang.Exception: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character ' ' (code 32) in content after '<' (malformed start element?).
 at [row,col {unknown-source}]: [1,283]
at com.swe.wipn.services.loadingpreparation.types.LoadingPreparationRequestResponse$Factory.parse(LoadingPreparationRequestResponse.java:928)
at com.swe.wipn.services.loadingpreparation.LoadingPreparationStub.fromOM(LoadingPreparationStub.java:365)
... 2 more
Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character ' ' (code 32) in content after '<' (malformed start element?).
 at [row,col {unknown-source}]: [1,283]
at com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:623)
at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2852)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019)
at org.apache.axiom.om.impl.llom.OMStAXWrapper.next(OMStAXWrapper.java:981)
at com.swe.wipn.services.loadingpreparation.types.LoadingPreparationRequestResponse$Factory.parse(LoadingPreparationRequestResponse.java:813)
... 3 more

解决方案 »

  1.   

    初步估计是你的测试数据有问题,
    把lsl.test.Test代码贴出来看看(尤其是Test.java:41 行)
      

  2.   

    数据应该没有问题,public class Test {public static void main(String[] args) throws RemoteException {

    com.zznode.ipnm.services.loadingpreparation.LoadingPreparationStub stub = new com.zznode.ipnm.services.loadingpreparation.LoadingPreparationStub();//the default implementation should point to the right endpoint //com.zznode.ipnm.services.loadingpreparation.types.LoadingPreparationRequest loadingPreparationRequest14 = (com.zznode.ipnm.services.loadingpreparation.types.LoadingPreparationRequest) getTestObject(com.zznode.ipnm.services.loadingpreparation.types.LoadingPreparationRequest.class);
    // TODO : Fill in the loadingPreparationRequest14 here
    String url="http://localhost:9080/axis2/services/LoadingPreparation";
        LoadingPreparationStub stub1=new LoadingPreparationStub(url);
        
        LoadingPreparationRequest loadingPreparationRequest14=new LoadingPreparationRequest();
        loadingPreparationRequest14.setEventID("002");
         Calendar c = Calendar.getInstance();
         loadingPreparationRequest14.setSendTime(c);
         loadingPreparationRequest14.setSuggestCharSet(2);
         loadingPreparationRequest14.setSuggestFileFormat(2);
         loadingPreparationRequest14.setSuggestWorkMode(1);
         loadingPreparationRequest14.setSystemID("IRMS"); //System.out.println(stub.SayHello(request).getSayHelloResponse()); // todo Fill in the param14 here //assertNotNull(stub.SayHello(request));


    stub1.LoadingPreparationRequest(loadingPreparationRequest14);
    }
    }
      

  3.   

    服务器端返回的xml中有一个" ",它认为是空格吧~~找找看~~
      

  4.   

    问题终于找到了,,原来是我的WSDL文件里面有空格造成的!!还是要感谢大家给我支持!!!