我已将当前的Axis版本从axis1.1.jar升级到axis1.4.jar。此外,我已将JDK从1.3版升级到1.6版。
由于我升级了JDK版本,现有的Web服务使用者代码给出了编译器错误。使用以下代码进行了纠正。
// oper.setStyle(org.apache.axis.enum.Style.RPC);
// oper.setUse(org.apache.axis.enum.Use.ENCODED);
oper.setStyle(org.apache.axis.constants.Style.RPC);
oper.setUse(org.apache.axis.constants.Use.ENCODED);
问题:当我们使用升级版Axis1.4和JDK1.6使用现有Web服务时,我遇到了以下错误。
错误:
com.tdi.lh.cprm.customerlink.ServiceException: 200:General Data Error:15002:Request/Response Schema Validation Error
at com.tdi.lh.cprm.customerlink.CustomerInsuranceIdentifierFinder.find(CustomerInsuranceIdentifierFinder.java:67)
at CPRMLib.getIINumber(CPRMLib.java:1449)
at CPRMLib.main(CPRMLib.java:2060)
Caused by: 200:General Data Error:15002:Request/Response Schema Validation Error
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
注意:Axis1.1和JDK1.3上的现有Web服务使用者没有任何问题。 我已经解决了其他几个问题,但是无法解决这个问题。任何帮助都非常感谢。
答案 0 :(得分:0)
经过几天的研究,我发现了上述错误的原因。
我使用命令
使用轴1.4 jar重新生成整个客户端Web服务(存根)代码SET CLASSPATH=%CLASSPATH%;C:\StockQuote\JDK16\lib\commons-discovery-0.2.jar
SET CLASSPATH=%CLASSPATH%;C:\StockQuote\JDK16\lib\commons-lang-2.4.jar
SET CLASSPATH=%CLASSPATH%;C:\StockQuote\JDK16\lib\activation.jar
SET CLASSPATH=%CLASSPATH%;C:\StockQuote\JDK16\lib\axis-ant.jar
SET CLASSPATH=%CLASSPATH%;C:\StockQuote\JDK16\lib\axis.jar
SET CLASSPATH=%CLASSPATH%;C:\StockQuote\JDK16\lib\commons-collections-3.2.1.jar
SET CLASSPATH=%CLASSPATH%;C:\StockQuote\JDK16\lib\commons-configuration-1.6.jar
SET CLASSPATH=%CLASSPATH%;C:\StockQuote\JDK16\lib\commons-logging-1.1.1.jar
SET CLASSPATH=%CLASSPATH%;C:\StockQuote\JDK16\lib\db2jcc4.jar
SET CLASSPATH=%CLASSPATH%;C:\StockQuote\JDK16\lib\jaxrpc.jar
SET CLASSPATH=%CLASSPATH%;C:\StockQuote\JDK16\lib\log4j-1.2.15.jar
SET CLASSPATH=%CLASSPATH%;C:\StockQuote\JDK16\lib\mail.jar
SET CLASSPATH=%CLASSPATH%;C:\StockQuote\JDK16\lib\saaj.jar
SET CLASSPATH=%CLASSPATH%;C:\StockQuote\JDK16\lib\wsdl4j-1.5.1.jar
SET CLASSPATH=%CLASSPATH%;C:\StockQuote\JDK16\lib\jsse.jar
java org.apache.axis.wsdl.WSDL2Java https://localhost:8443/axis2/services/StockQuoteService?wsdl
注意:我们无法升级Axis1.1 - >到Axis 1.4。需要使用Axis 1.4 jar重新生成现有代码(使用Axis 1.1 jar生成)。