用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/