1. 程式人生 > >解決webservice介面呼叫報錯:java.lang.ClassFormatError: Absent Code ... javax/mail/internet/MimeMultip

解決webservice介面呼叫報錯:java.lang.ClassFormatError: Absent Code ... javax/mail/internet/MimeMultip

今天使用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即可。