JavaAgent in Lotus Notes 6.5 unter Verwendung der Achsen-API gibt die Ausnahme "Keine Implementierung für org.apache.commons.logging.LogFactory definiert" aus.

Ich musste einen JavaAgent in eine Lotus Notes 6.5-Datenbank schreiben, um auf einen Webdienst zugreifen zu können. Zu diesem Zweck habe ich die Axis Apache-API verwendet. Ich habe einen Java-Agenten erstellt und die JAR-Dateien von axis über die Schaltfläche Projekt bearbeiten zum Agenten hinzugefügt.

Unten ist der Agent-Code:

import lotus.domino.*;
import javax.xml.*;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
import java.net.URL;

public class JavaAgent extends AgentBase {

    public void NotesMain() {

        try {


            Session session = getSession();
            AgentContext agentContext = session.getAgentContext();

            String  endpoint = "http://ws.apache.org:5049/axis/services/echo";
            Service service = new Service();
            Call     call    = (Call) service.createCall();
            call.setTargetEndpointAddress(new java.net.URL(endpoint) );

            call.setOperationName(new QName("http://soapinterop.org/", "echoString"));
            String ret = (String) call.invoke( new Object[] { "Hello!" } );
            System.out.println("Sent 'Hello!', got '" + ret + "'");

        } catch(Exception e) {
            e.printStackTrace();
        }
    }
}

Und unten ist die Ausnahme geworfen:

java.lang.ExceptionInInitializerError: org.apache.commons.discovery.DiscoveryException: No implementation defined for org.apache.commons.logging.LogFactory

    at org.apache.commons.discovery.tools.SPInterface.newInstance(SPInterface.java:197)

    at org.apache.commons.discovery.tools.DiscoverClass.newInstance(DiscoverClass.java:579)

    at org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:418)

    at org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:378)

    at org.apache.axis.components.logger.LogFactory$1.run(LogFactory.java:84)

    at java.security.AccessController.doPrivileged(Native Method)

    at org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:80)

    at org.apache.axis.components.logger.LogFactory.<clinit>(LogFactory.java:72)

    at org.apache.axis.configuration.EngineConfigurationFactoryFinder.<clinit>(EngineConfigurationFactoryFinder.java:94)

    at org.apache.axis.client.Service.<init>(Service.java:111)

    at JavaAgent.NotesMain(JavaAgent.java:17)

    at lotus.domino.AgentBase.runNotes(Unknown Source)

    at lotus.domino.NotesThread.run(NotesThread.java:218)

Ich habe mich bemüht, ein paar Links im Internet zu folgen, aber ich konnte nicht genau das bekommen, wonach es gefragt wurde. z.B:http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/40d033fba3897f4d85256cd30034026a?OpenDocument

Jede Hilfe wird großartig sein. Alles, was ich tun wollte, ist, einen Agenten zu schreiben, damit ich auf einen Webdienst zugreifen kann, zum Beispiel einen Webdienst zur Temperaturumrechnung auf w3schools.http://www.w3schools.com/webservices/tempconvert.asmx?op=FahrenheitToCelsius

Antworten auf die Frage(1)

Ihre Antwort auf die Frage