解決webservice介面呼叫報錯:java.lang.ClassFormatError: Absent Code ... javax/mail/internet/MimeMultip
阿新 • • 發佈:2018-11-01
今天使用java axis呼叫.net釋出的webservice介面報了個錯,排查半天,感覺程式碼邏輯沒問題,最後發現是jar包衝突!!!
呼叫介面相關程式碼:
String url="http://xxxx/WebService/ForDxService.asmx?wsdl"; Service service = new Service(); Call call; try { call = (Call) service.createCall(); try { call.setTargetEndpointAddress(new java.net.URL(url)); } catch (MalformedURLException e) { e.printStackTrace(); } call.setUseSOAPAction(true); call.setSOAPActionURI(soapActionURI); call.setOperationName(new QName(namespace,"GetOAInterface")); call.addParameter(new QName(namespace,"strUnitCode"), //設定要傳遞的引數 org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN); call.addParameter(new QName(namespace,"strExchangeType"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN); call.setReturnType(XMLType.XSD_SCHEMA); String[] str = new String[2]; str[0] = "A_101247"; str[1] = "Document"; Object obj = call.invoke(str);
javax/mail/internet/MimeMultipart
在以下兩個Jar包中都存在!
javaee-api-5.jar和javax.mail.jar兩個jar包衝突,刪掉javaee-api-5.jar即可。