ich stehe gerade vor der Aufgabenstellung aus unserem Java-Portal heraus ein Ticket im OTRS zu erstellen.
Leider habe ich keine Java-spezifischen Beispiele gefunden und habe mir daher folgendes zusammengeschustert.
Im Generic Interface habe ich einen Web Service "test" angelegt, welcher eine Operation "new" im Bereich "OTRS als Provider" (TicketCreate) enthält.
Dies ist meine Java-Code-Schnipsel mit dem ich es versuche zu triggern (Fehlt natürlich noch der Ticketteil...):
Code: Select all
public Integer storeFeedback(WorkflowContext wfctx) {
try {
SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance();
SOAPConnection conn = scf.createConnection();
MessageFactory mf = MessageFactory.newInstance();
SOAPMessage msg = mf.createMessage();
SOAPPart sp = msg.getSOAPPart();
SOAPEnvelope env = sp.getEnvelope();
SOAPBody body = env.getBody();
SOAPBodyElement dispatch = body.addBodyElement(new QName("TicketCreate","new"));
dispatch.addChildElement("UserLogin").addTextNode("soap_user");
dispatch.addChildElement("Password").addTextNode("soap_pass");
dispatch.addChildElement("trace").addTextNode("1");
dispatch.addChildElement("uri").addTextNode("kv");
dispatch.addChildElement("style").addTextNode("SOAP_RPC");
dispatch.addChildElement("use").addTextNode("SOAP_ENCODED");
URL url = new URL("http://otrs/otrs/nph-genericinterface.pl/Webservice/test/");
SOAPMessage resp = conn.call(msg, url);
resp.writeTo( System.out );
} catch (Exception e) {
e.printStackTrace();
}
return SysGlobals.RESULT_OK;
}
TicketCreate.AuthFail (2012-07-17 13:56:58, error) TicketCreate: User could not be authenticated!
Detected operation 'new' (2012-07-17 13:56:58, debug): No data provided
Outgoing data after mapping (2012-07-17 13:56:58, debug)
$VAR1 = {
'Error' => {
'ErrorCode' => 'TicketCreate.AuthFail',
'ErrorMessage' => 'TicketCreate: User could not be authenticated!'
}
};
Hat da jemand vielleicht einen Hinweis oder gar ein Java-Snippet für mich?
Vielen Dank!
OTRS 3.1.7