c# - ISO8583 message header in Trx library -


i used trx iso 8583 library. library sends message length in hex. need send 4 bytes of ascii chars message header. how that?

to change message header should change nboframelengthsink class in trx=>communication=>sinks=>nboframelengthsink.cs

change in public void send(pipelinecontext context) function below code

buffer.write(true, _bytesinheader == 2                 ? new[] {(byte) (length >> 8), (byte) length}                 : new[] {(byte) (length >> 24), (byte) (length >> 16), (byte) (length >> 8), (byte) (length)}); 

to

string ls_length;  ls_length = length.tostring("####").padleft(4,'0');  byte[] ascii = system.text.encoding.ascii.getbytes(ls_length);  buffer.write(true, _bytesinheader == 2  ? new[] { (byte)(length >> 8), (byte)length }  : ascii); 

and

in function public bool receive(pipelinecontext context)

code

context.expectedbytes = ( header[0] << 24 ) | ( header[1] << 16 ) | ( header[2] << 8 ) | header[3]; 

chage

context.expectedbytes = header[0] | header[1] | header[2] | header[3]; 

if need send message in ascii bitmap hex below:

in iso8583ascii1987.xml congif file change

<!-- add first bitmap --> <invoke name="add">   <parameter type="bitmapfieldformatterfactory">     <property name="fieldnumber" value="0" />     <property name="description" value="primary bitmap" />     <property name="encoder" reference="dataencoderfactory" />     <property name="lowerfieldnumber" value="1" />     <property name="upperfieldnumber" value="64" />   </parameter> </invoke>  <!-- add secondary bitmap (field number 1) --> <invoke name="add">   <parameter type="bitmapfieldformatterfactory">     <property name="fieldnumber" value="1" />     <property name="description" value="secondary bitmap" />     <property name="encoder" reference="dataencoderfactory" />     <property name="lowerfieldnumber" value="65" />     <property name="upperfieldnumber" value="128" />   </parameter> </invoke> 

Comments

Popular posts from this blog

curl - PHP fsockopen help required -

HTTP/1.0 407 Proxy Authentication Required PHP -

java - More than one row with the given identifier was found: 1, for class: com.model.Diagnosis -