Ошибка soapResponse Exception SpringBusFactory - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь использовать мыльный веб-сервис на Java, он работает только с Eclipse IDE, но не работает при импорте проекта JBPM.Я получаю сообщение об ошибке:

Не удалось определить имя класса реализации BusFactory: java.lang.ClassCastException: класс org.apache.cxf.bus.spring.SpringBusFactory

Он отлично работает с Eclipse

enter image description here Мой исходный код:

import java.io.*;
import java.util.Iterator;
import javax.xml.soap.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.xpath.*;
import org.xml.sax.InputSource;
public class metodos {
 public metodos() {
    super();
 }

public String getInfo() {
    String retorno = "";
    System.out.println("methodGetInfo ");
    try {
        System.out.println("methodGetInfo newInstance");
        SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
        System.out.println("methodGetInfo createConnection");
        SOAPConnection soapConnection = soapConnectionFactory.createConnection();
        System.out.println("methodGetInfo MessageFactory newInstance");
        MessageFactory messageFactory = MessageFactory.newInstance();
        System.out.println("methodGetInfo createMessage");
        javax.xml.soap.SOAPMessage soapRequest = messageFactory.createMessage();
        System.out.println("methodGetInfo getSOAPPart");
        SOAPPart soapPart = soapRequest.getSOAPPart();
        System.out.println("methodGetInfo getEnvelope");
        SOAPEnvelope soapEnvelope = soapPart.getEnvelope();
        soapEnvelope.addNamespaceDeclaration("end", endPoint);
        SOAPBody soapBody = soapEnvelope.getBody();
        soapBody.addChildElement("getInfo", "end");
        soapRequest.saveChanges();

        System.out.println("methodGetInfo soapConnection call");
        SOAPMessage soapResponse = soapConnection.call(soapRequest, url);
        System.out.println("methodGetInfo transformerFactory");
        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        System.out.println("methodGetInfo newTransformer");
        Transformer transformer = transformerFactory.newTransformer();
        System.out.println("methodGetInfo getSOAPPart");
        Source sourceContent = soapResponse.getSOAPPart().getContent();

        System.out.println("methodGetInfo StringWriter");
        StringWriter writer = new StringWriter();
        System.out.println("methodGetInfo StreamResult");
        StreamResult result = new StreamResult(writer);
        System.out.println("methodGetInfo transformer.transform");
        transformer.transform(sourceContent, result);

Когда я использую JBPM, я получаю эту ошибку:

JPBMERROR

Ошибка вызвана этой строкой:

SOAPMessage soapResponse = soapConnection.call (soapRequest, url);

Я не использую никаких внешних библиотек в java.

Уровень компилятора Java: 1.8

Версия JBPM: 7.17.0 Final

1 Ответ

0 голосов
/ 04 марта 2019

Похоже, что доступны две разные версии apache cxf, одна из модуля EAP и другая версия из папок war / lib приложения jbpm.Вам придется отключить один из этих банок, чтобы разрешить этот конфликт.

...