how to build iso8583 version 2003 message using openiso8583? - iso8583

As we know, iso8583 version 2003 indicates by mti 2xxx (ref: http://en.wikipedia.org/wiki/ISO_8583#ISO_8583_version)
the question is how to create iso8583 message version 2003 with openiso8583?
I'm already set the property MessageType to Iso8583.MsgType._0800_NWRK_MNG_REQ (create netman message for example), what i'm expected is mti 2800 but the message return mti 0800.
it seem the default version used by iso8583net library is iso version 1987, cmiiw.

If you look through the code you'll see that Iso8583.MsgType._0800_NWRK_MNG_REQ is a constant int 0x800. I recommend that you create your own Iso8583Rev03 message and your own subclass MsgType where you put
public const int _2800_NWRK_MNG_REQ = 0x2800;
Then use that in your code.

Related

Error while exporting TXTextControl as PDFA or XML

i gain a strange error: 'This feature is not available in the TX Text Control Standard or Professional version. The TX Text Control Enterprise version must be installed.' when I try to save the TXTextControl object with .Save function in .pdfa, .xml and other formats. The error comes when I explicit the StreamType parameter in the .Save function. It seems I have not all the format offered by TXTextControl.
Error comes in this line for example:
TXTextControl.Save(dir, TXTextControl.StreamType.XMLFormat)
or
TXTextControl.Save(dir, TXTextControl.StreamType.AdobePDFA)
I searched online but I can't find references to this error and for TXTextControl enterprise or professional version.
There 's actually different versions of TXTextControl? How can I verify what version I have?
Thanks.
Using TXTextControl.GetVersionInfo().Level should tell you what level you have (as per ProductLevel property)
If you look at the Features page and open up the Supported Formats section under "Features in Detail" then you can see which formats your product level supports.

EWS 2016 requested version is Not Supported on Calnedard.bind using 2013_sp1 as Exchange version

I i was asked too make a Outlook addin with uses the exchange server 2016 to syncronise entry from the database with the entrys from the Appointments in the Outlook Calendar.
Problem now is that had to use the Exhangeversion of 2013_sp1 as ExchangeVersion with as far as i read is should be ok.
But by my colleage the outlook plugin means that "Exchange Server doesn't support the requested version” on the try to start the addin. it comes up by the method CalendarFolder.Bind(m_service, folderId, new PropertySet());
as fas as could read von the stacktrace.
I do not know if it i just a type of authenfication problem or the problem by the versions or how i call them
here my code `
m_service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
m_service.UseDefaultCredentials = true;
// NetworkCredentials
m_service.Url = new Uri(EWSServerUrl);
FolderId folderId = new FolderId(WellKnownFolderName.Calendar);
CalendarFolder calendarESW = CalendarFolder.Bind(m_service, folderId, new PropertySet());`
i would be grateful for a bit of help ;)
The error means that the server that is responding to the request doesn't support the Requested Server version (Auto-discover can be used to check the supported EwsSupportedSchemas https://msdn.microsoft.com/en-us/library/office/jj900154(v=exchg.150).aspx ). Mostly likely this is because the server that is responding is running a lower version of Exchange or CU version than what your requesting. You can easily check this by looking at the ServerVersion that is return in the response you getting eg check https://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.exchangeservicebase.serverinfo(v=exchg.80).aspx or enable tracing and check the trace https://msdn.microsoft.com/en-us/library/office/dd633676(v=exchg.80).aspx

How to parse ISO8583 message from a text file & write it to a database

I am having few ISO8583 logs in a text file. I want to parse these logs from this text file and write them to any database with some descriptive information such as class of the message, message function, message origin, processing code, response code etc.
I am new to the BASE24/ISO8583 and was trying to find any ready-made parser for this. Is there any such parser available ? Does jPOS provides such functionality ?
EDIT
I have the logs in ISO8583 format in ".log" file as given below:
MTI : 0200
Field-3 : 201234
Field-4 : 000000010000
Field-7 : 0110722180
Field-11 : 123456
Field-44 : A5DFGR
Field-105 : ABCDEFGHIJ 1234567890
This is same as the format given in the link shared by you.
It also consists of hex dump but I dont want to parse that.
The code given in the link is doing packing and unpacking of the message where as what I am trying is to read these logs (in unpacked form) and write them into a database table.
I think i need to write my own code for this and use the jPOS packagers in it.
It really depends on the format of the log file - are the ISO8583 messages - HexStrings, and HexDump an XML representation of ISO8583, some other application trace file ?
Once you know the format and it might require some massaging - you will want to research the ISOMsg.unpack() methods using the appropriate jPOS packager. the packager defines the field structure - of the various ISO8583 fields and field construction (lengths, character set, etc.)
a good example was found at the following blog post: looking at the "Parse (unpack) ISO Message" seciton http://jimmod.com/blog/2011/07/26/jimmys-blog-iso-8583-tutorial-build-and-parse-iso-message-using-jpos-library/
You mention - Base24 - jPOS does have a few packagers that might be close starting point.:
https://github.com/jpos/jPOS/blob/master/jpos/src/dist/cfg/packager/base24.xml
Those human-readable log formats are usually difficult to parse without loosing information. Moreover, the logs are probably PCI compliant so there's a lot of masked information there. You want to ask for ah hex dump of the messages.
what is displayed in log file is parsed ISO.Hence you need not use jpos.jpos is only for packing and unpacking when you transmit the message.
Assign the field to variable and write in DB
for example,Field 39 is response code.
Using jpos is good idea. You should go for your custom packager design class.

How to get author of a pdf document with mupdf

how can I get metadata of a pdf document(e.g. title, author, creation date etc) by using mupdf library? There is not enough documentation to find out this functionality. Comments are not sufficient, too. Most probably, there is a functionality for this purpose but it is hard to find under these circumstances. The following code is what I have so far.
char info[64];
globals *glo = get_globals(env, thiz);
fz_meta(glo->doc, FZ_META_INFO, info, sizeof(info));
I have used FZ_META_INFO tag, but it doesn't work. I didn't get any info, just empty. I have checked that it has metadata. Any help is appreciated.
EDIT:
Target Android sdk:20
Min Android sdk:15
Mupdf version: 1.6
ndk: r10c
Development OS: Ubuntu 12.04
In what sense 'doesn't work' ? Throws an error ? Crashes ? Are you certain the PDF file you are using has any 'Info' metadata ?
What is the version of MuPDF ? What platform are you using ?
You need to set the relevant key in the buffer you pass to fz_meta before you call fz_mets, I notice you aren't doing that.
See win_main.c at around line 487, after you get past the macro this resolves to
char info[256]
sprintf(info, "Title");
fz_meta(doc, FZ_META_INFO, info, 256);
On return 'info' will contain the metadata associated with the Title key in the dictionary.
When in doubt, build the sample app and follow it in a debugger......
If the proper casting allow to send the key,
this casting is NOT correct to receive back a char*.
Exemple;
Proper casting to send a request
char buff[2048];
strcpy(buff,"CreationDate")
if (fz_meta(ctx,doc,FZ_META_INFO,&buff,2048)) {
buff[0] = 0;
}
Will:
find the key,
convert utf8
then will crash when copyback of the result
Proper casting to receive a request
char buff[2048];
strcpy(buff,"CreationDate")
if (fz_meta(ctx,doc,FZ_META_INFO,buff,2048)) {
buff[0] = 0;
}
Will crash during dict scanning.
looks really like a bug!
I confirm that modifying original source
info = pdf_dict_gets(ctx, info, (char *)ptr);
is the way to go. (even if strange that nobody else find it while writing code, because Meta are useful features frequently used

Detect Operating System

I would like to know how to detect if a persons operating system is Windows 7, I'm a bit new and have no idea how to do this. Please let me know if it is possible and the code to do it.
See the Environment.OSVersion property on MSDN. It is a static property that returns an OperatingSystem object, which has a Version property and you can just check the Major and Minor version numbers to see if it is 6.1 (Windows 7 is actually version 6.1).
Dim osVer As Version = Environment.OSVersion.Version
If osVer.Major = 6 And osVer.Minor = 1 Then
Console.WriteLine("win7!!")
End If
It's easy to use My.Computer.Info.OSFullName.
you need to set up the app.manifest file to get the correct version number. even System.Environment.OSVersion.ToString() ' not gives the correct version if you have not been set the app.manifest
add an app.manifest
Console.WriteLine(My.Computer.Info.OSFullName)
Console.WriteLine(My.Computer.Info.OSVersion)
Console.WriteLine(My.Computer.Info.OSPlatform)
Output:
Microsoft Windows 10 Pro
10.0.18362.0
Win32NT
I'm guessing since you're a bit new that you're actually using VB.NET rather than classic VB 6.
In VB.NET, you can use:
Dim osVersion As String = System.Environment.OSVersion.ToString()
I would use
My.Computer.Info.OSFullName