gtudan / otrs-client Goto Github PK
View Code? Open in Web Editor NEWA simple low-level Java client for OTRS' RPC/SOAP interface
License: GNU Lesser General Public License v3.0
A simple low-level Java client for OTRS' RPC/SOAP interface
License: GNU Lesser General Public License v3.0
Hi,
I'm trying to search a ticket with a DynamicField with your library. DynamicField search requires a HashMap:
DynamicField_FieldNameX => {
Equals => 123,
Like => 'value*', # "equals" operator with wildcard support
GreaterThan => '2001-01-01 01:01:01',
GreaterThanEquals => '2001-01-01 01:01:01',
LowerThan => '2002-02-02 02:02:02',
LowerThanEquals => '2002-02-02 02:02:02',
}
How to do that?
First off: Great work, the SOAP interface of OTRS isn't that easy to handle. This library certainly makes it easier.
Now to the problem: I wanted to use the TicketObject->ArticleGet method of OTRS 5.0.16 to get all articles attached to a ticket. However, the returned SOAPMessage is more or less empty. Is this a problem of this library or how SOAP was implemented by OTRS? From what I see with Wireshark OTRS does actually return something, but when I manually inspect the SOAPMessage at
answerMsg.getSOAPBody().toString()
[soap:Body: null]
The XML returned looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<soap:Body>
<DispatchResponse xmlns="/Core">
<s-gensym3>
<UntilTime xsi:type="xsd:int">0</UntilTime>
<Priority xsi:type="xsd:string">2 low</Priority>
<SLA xsi:type="xsd:string" />
<Cc xsi:type="xsd:string" />
<TicketID xsi:type="xsd:int">86</TicketID>
<CustomerUserID xsi:type="xsd:string">...</CustomerUserID>
<ArticleTypeID xsi:type="xsd:int">8</ArticleTypeID>
<EscalationResponseTime xsi:type="xsd:int">0</EscalationResponseTime>
<QueueID xsi:type="xsd:int">6</QueueID>
<Age xsi:type="xsd:int">430159</Age>
<SLAID xsi:nil="true" />
<IncomingTime xsi:type="xsd:int">1486044774</IncomingTime>
<CreatedBy xsi:type="xsd:int">2</CreatedBy>
<SenderType xsi:type="xsd:string">agent</SenderType>
<State xsi:type="xsd:string">acknowledged</State>
<EscalationSolutionTime xsi:type="xsd:int">0</EscalationSolutionTime>
<FromRealname xsi:type="xsd:string">...</FromRealname>
<TicketNumber xsi:type="xsd:long">2017020210000086</TicketNumber>
<From xsi:type="xsd:string">...</From>
<Subject xsi:type="xsd:string">...</Subject>
<PriorityID xsi:type="xsd:int">2</PriorityID>
<References xsi:type="xsd:string" />
<StateID xsi:type="xsd:int">19</StateID>
<RealTillTimeNotUsed xsi:type="xsd:int">0</RealTillTimeNotUsed>
<ServiceID xsi:nil="true" />
<InReplyTo xsi:type="xsd:string" />
<Charset xsi:type="xsd:string">utf8</Charset>
<CustomerID xsi:type="xsd:string">...</CustomerID>
<ToRealname xsi:type="xsd:string">...</ToRealname>
<EscalationTime xsi:type="xsd:int">0</EscalationTime>
<MessageID xsi:type="xsd:string" />
<SenderTypeID xsi:type="xsd:int">1</SenderTypeID>
<MimeType xsi:type="xsd:string">text/plain</MimeType>
<EscalationUpdateTime xsi:type="xsd:int">0</EscalationUpdateTime>
<Service xsi:type="xsd:string" />
<Owner xsi:type="xsd:string">...</Owner>
<Created xsi:type="xsd:string">2017-02-02 15:12:54</Created>
<Queue xsi:type="xsd:string">...</Queue>
<StateType xsi:type="xsd:string">open</StateType>
<CreateTimeUnix xsi:type="xsd:int">1486044774</CreateTimeUnix>
<ResponsibleID xsi:type="xsd:int">1</ResponsibleID>
<Title xsi:type="xsd:string">string</Title>
<AgeTimeUnix xsi:type="xsd:int">430159</AgeTimeUnix>
<ContentType xsi:type="xsd:string">text/plain; charset=utf8</ContentType>
<To xsi:type="xsd:string">Product ordering</To>
<Responsible xsi:type="xsd:string">...</Responsible>
<OwnerID xsi:type="xsd:int">2</OwnerID>
<Type xsi:type="xsd:string">Unclassified</Type>
<Changed xsi:type="xsd:string">2017-02-02 15:12:54</Changed>
<ArticleType xsi:type="xsd:string">webrequest</ArticleType>
<ReplyTo xsi:type="xsd:string" />
<Body xsi:type="xsd:string">...</Body>
<ContentCharset xsi:type="xsd:string">utf8</ContentCharset>
<Lock xsi:type="xsd:string">unlock</Lock>
<ArticleID xsi:type="xsd:int">133</ArticleID>
<TypeID xsi:type="xsd:int">1</TypeID>
<LockID xsi:type="xsd:int">1</LockID>
</s-gensym3>
</DispatchResponse>
</soap:Body>
</soap:Envelope>
For now I can probably work around this issue (I'll use the REST API).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.