Hi Leute!
Hab' mich gerade hier angemeldet weil ich ein etwas ominöses Problem mit Axis2 habe. Vielleicht ein bisschen zur Vorgeschichte dieses "Projektes": Ich wurde gebeten die Konfiguration von Telefonen am Cisco-Callmanager zu automatisieren. Die Benutzerschnittstelle soll BMC sein/werden (falls das jem. kennt) und die Schnittstelle zum Callmanager nennt sich AXL (SOAP). BMC ist im Endeffekt ein etwas schlaueres Eclipse-Plugin das einerseits ein Web-Portal mit allem Schnick-Schnack zur Verfügung stellt und andererseits über Klicki-Bunti-Konfiguration diverse Datenquellen auslesen kann. Insofern dachte ich Web-Services wären schön und nachdem ich sowieso Axis für den Callmanager-Zugriff verwendete, setzte ich hier noch einen Axis2 Server auf und soweit ist auch alles in Ordnung. So zum Problem: Ich hab über die Wsdl von Cisco die benötigten Klassen erstellt und die sind auch in einem anderen Programm erfolgreich im Einsatz, sollten also kein Problem darstellen. Diese Klassen dann zum Web-Service hinzugefügt, ich initialisiere den Stub im Konstruktor meines Web-Services. Wenn ich jetzt probiere den Test-Service aufzurufen kommt es zu folgender Soap-Nachricht:
Hier der Code:
Hier sieht man die Ordnerstruktur im Eclipse: (File genau dort wos sein soll)
http://img411.imageshack.us/img411/928/eclipset.png
Danach hab ich auch im Aar-File das deployed wurde nochmal nachgesehen und die Klasse ist genau dort wo sie anscheinend nicht ist, Screenshot hier:
http://img404.imageshack.us/img404/7320/aar.png
Eigentlich auch genau da, wo er meckert das es nicht ist
Ja und hier noch der Test über SoapUi (links das was ich schicke, rechts eben die Antwort):
http://img821.imageshack.us/img821/5219/soap.png/
Tja und die Frage ist jetzt, warum findet er die Klasse nicht obwohl sie meiner Meinung genau da ist wo sie auch sein sollte bzw. wo er sagt das sie nicht ist


Ich freu' mich über jede Anregung!
Danke im Voraus
&
Freundliche Grüße
- Keljor
Hab' mich gerade hier angemeldet weil ich ein etwas ominöses Problem mit Axis2 habe. Vielleicht ein bisschen zur Vorgeschichte dieses "Projektes": Ich wurde gebeten die Konfiguration von Telefonen am Cisco-Callmanager zu automatisieren. Die Benutzerschnittstelle soll BMC sein/werden (falls das jem. kennt) und die Schnittstelle zum Callmanager nennt sich AXL (SOAP). BMC ist im Endeffekt ein etwas schlaueres Eclipse-Plugin das einerseits ein Web-Portal mit allem Schnick-Schnack zur Verfügung stellt und andererseits über Klicki-Bunti-Konfiguration diverse Datenquellen auslesen kann. Insofern dachte ich Web-Services wären schön und nachdem ich sowieso Axis für den Callmanager-Zugriff verwendete, setzte ich hier noch einen Axis2 Server auf und soweit ist auch alles in Ordnung. So zum Problem: Ich hab über die Wsdl von Cisco die benötigten Klassen erstellt und die sind auch in einem anderen Programm erfolgreich im Einsatz, sollten also kein Problem darstellen. Diese Klassen dann zum Web-Service hinzugefügt, ich initialisiere den Stub im Konstruktor meines Web-Services. Wenn ich jetzt probiere den Test-Service aufzurufen kommt es zu folgender Soap-Nachricht:
Code:
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Body>
<soapenv:Fault>
<soapenv:Code>
<soapenv:Value>soapenv:Receiver</soapenv:Value>
</soapenv:Code>
<soapenv:Reason>
<soapenv:Text xml:lang="en-US">java.lang.NoClassDefFoundError: com/cisco/www/AXLAPIService/AXLAPIServiceLocator</soapenv:Text>
</soapenv:Reason>
<soapenv:Detail/>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Hier der Code:
Code:
package at.xroadsnorse;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.security.Security;
import NilProvider.NilProvider;
import com.cisco.www.AXLAPIService.AXLAPIBindingStub;
import com.cisco.www.AXLAPIService.AXLAPIServiceLocator;
public class NorseService_Test {
static com.cisco.www.AXLAPIService.AXLAPIBindingStub stub;
public NorseService_Test() {
Security.addProvider( new NilProvider() );
Security.setProperty("ssl.TrustManagerFactory.algorithm","TrustAllCertificates");
try {
String ip = "";
String port = "";
String user = "";
String pass = "";
File f = new File("Credentials_CUCM.txt");
try {
BufferedReader br = new BufferedReader(new FileReader(f));
ip = br.readLine();
port = br.readLine();
user = br.readLine();
pass = br.readLine();
br.close();
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
AXLAPIServiceLocator loc = new AXLAPIServiceLocator ();
loc.setAXLPortEndpointAddress("https://"+ip+":"+port+"/axl/");
stub = (AXLAPIBindingStub)loc.getAXLPort();
stub.setUsername(user);
stub.setPassword(pass);
}
catch (Exception e) {
e.printStackTrace();
}
}
public String getAXLTest(String asdf)
{
return "Supi!";
}
}
Hier sieht man die Ordnerstruktur im Eclipse: (File genau dort wos sein soll)
http://img411.imageshack.us/img411/928/eclipset.png
Danach hab ich auch im Aar-File das deployed wurde nochmal nachgesehen und die Klasse ist genau dort wo sie anscheinend nicht ist, Screenshot hier:
http://img404.imageshack.us/img404/7320/aar.png
Eigentlich auch genau da, wo er meckert das es nicht ist

Ja und hier noch der Test über SoapUi (links das was ich schicke, rechts eben die Antwort):
http://img821.imageshack.us/img821/5219/soap.png/
Tja und die Frage ist jetzt, warum findet er die Klasse nicht obwohl sie meiner Meinung genau da ist wo sie auch sein sollte bzw. wo er sagt das sie nicht ist



Ich freu' mich über jede Anregung!
Danke im Voraus
&
Freundliche Grüße
- Keljor