用xfire写了个 web service,在开发环境没有任何问题,可以正常访问,但是部署到运行环境,我去,一堆的问题,无法使用。
一句一句的跟踪,执行到这句,系统就归西了
Service srvcModel = new ObjectServiceFactory().create(EmsReportInterface.class);
查看后台的错误信息,发现都是由于缺少必要的jar包造成的,但是这些jar包在开发环境里并不需要:
Caused by: javax.xml.stream.FactoryConfigurationError: Provider com.bea.xml.stream.MXParserFactory not found
缺少wstx-asl-3.2.0.jar和stax-api-1.0.1.jar,
Caused by: ognl.OgnlException: downloadFile [java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamReader]
缺少jsr173_api-1.0.jar
Caused by: java.lang.NoClassDefFoundError: javax/activation/DataSource
缺少activation.jar
以上这些jar包需要添加到WEB-INF\lib目录下。
另外WEB-INF\classes目录下的wsdl文件由于环境的差异,最好重新生成。
对应url: http://127.0.0.1:8080/AppName/services/
例如:http://127.0.0.1:8080/ems/services/