Hi, ich versuche mich gerade mit der API und will einen ganz einfach Lastschrifteinzug (CORE) realisieren. Den nötigen XML-Teil habe ich bereits als String vorliegen (DFÜ 2.7) und ist auch durch die Bank validiert (die Hypo hat ein tolles Testtool dafür).
Ich tu mich jedoch ein wenig schwer damit da bei den Beispielen sowas nicht mit bei ist.
So sieht mein Quellcode momentan aus:
_sepa_xml ist der String mit den XML-Daten, die ausführung schlägt jedoch fehl mit einem Nullpointer. Trace:
Und noch mein verwendetes XML, IBAN habe ich jetzt natürlich was anderes eingetragen, zum testen verwende ich aber korrekte Daten:
Benötige ich eigentlich unbedingt noch die SEPA-API zusätzlich oder kann ich die XML als String irgendwie direkt an die Bank senden (low-level)?!
Bin für jede Hilfe dankbar.
Ich tu mich jedoch ein wenig schwer damit da bei den Beispielen sowas nicht mit bei ist.
So sieht mein Quellcode momentan aus:
Code
SepaDocument document = SepaDocument.NewDocumentXml(XmlReader.Create(new StringReader(_sepa_xml)));
FinSepaSubmitPostdatedSingRemittBuilder builder = new FinSepaSubmitPostdatedSingRemittBuilder(contact);
FinOrder order = builder.Build(account, document);
FinScriptSendOrder.Execute(this, contact, order, "1234567890");
FinSepaSubmitPostdatedSingRemittBuilder builder = new FinSepaSubmitPostdatedSingRemittBuilder(contact);
FinOrder order = builder.Build(account, document);
FinScriptSendOrder.Execute(this, contact, order, "1234567890");
_sepa_xml ist der String mit den XML-Daten, die ausführung schlägt jedoch fehl mit einem Nullpointer. Trace:
Code
bei Subsembly.FinTS.FinDataElement..ctor(String sStringData)
bei Subsembly.FinTS.FinSegment.SetStringElement(Int32 nDEG, Int32 nGD, String sStringData)
bei Subsembly.FinTS.FinSepaOrderBuilder.BuildSepaSegment(FinSepaRemitt aSepaRemitt)
bei Subsembly.FinTS.FinSepaOrderBuilder.Build(FinAcct aAcct, SepaDocument aSepaDoc)
bei HBCITesttApp.Form1.btnAbbuchung_Click(Object sender, EventArgs e) in c:\Users\dbecker\Documents\Visual Studio 2013\Projects\HBCITesttApp\HBCITesttApp\Form1.cs:Zeile 281.
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
bei System.Windows.Forms.Button.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.Run(Form mainForm)
bei HBCITesttApp.Program.Main() in c:\Users\dbecker\Documents\Visual Studio 2013\Projects\HBCITesttApp\HBCITesttApp\Program.cs:Zeile 19.
bei System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
...
bei Subsembly.FinTS.FinSegment.SetStringElement(Int32 nDEG, Int32 nGD, String sStringData)
bei Subsembly.FinTS.FinSepaOrderBuilder.BuildSepaSegment(FinSepaRemitt aSepaRemitt)
bei Subsembly.FinTS.FinSepaOrderBuilder.Build(FinAcct aAcct, SepaDocument aSepaDoc)
bei HBCITesttApp.Form1.btnAbbuchung_Click(Object sender, EventArgs e) in c:\Users\dbecker\Documents\Visual Studio 2013\Projects\HBCITesttApp\HBCITesttApp\Form1.cs:Zeile 281.
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
bei System.Windows.Forms.Button.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.Run(Form mainForm)
bei HBCITesttApp.Program.Main() in c:\Users\dbecker\Documents\Visual Studio 2013\Projects\HBCITesttApp\HBCITesttApp\Program.cs:Zeile 19.
bei System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
...
Und noch mein verwendetes XML, IBAN habe ich jetzt natürlich was anderes eingetragen, zum testen verwende ich aber korrekte Daten:
Code
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.003.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.008.003.02 pain.008.003.02.xsd"><CstmrDrctDbtInitn><GrpHdr><MsgId>HW-GHD-0000000000000</MsgId><CreDtTm>2013-11-27T12:00:00Z</CreDtTm><NbOfTxs>1</NbOfTxs><CtrlSum>0.01</CtrlSum><InitgPty><Nm>MAX MUSTERMANN</Nm></InitgPty></GrpHdr><PmtInf><PmtInfId>HW-PMT-0000000000000</PmtInfId><PmtMtd>DD</PmtMtd><NbOfTxs>1</NbOfTxs><CtrlSum>0.01</CtrlSum><PmtTpInf><SvcLvl><Cd>SEPA</Cd></SvcLvl><LclInstrm><Cd>CORE</Cd></LclInstrm><SeqTp>FRST</SeqTp></PmtTpInf><ReqdColltnDt>2013-12-04</ReqdColltnDt><Cdtr><Nm>MAX MUSTERMANN</Nm></Cdtr><CdtrAcct><Id><IBAN>DE55100208900123456789</IBAN></Id></CdtrAcct><CdtrAgt><FinInstnId><BIC>HYVEDEMM488</BIC></FinInstnId></CdtrAgt><ChrgBr>SLEV</ChrgBr><CdtrSchmeId><Id><PrvtId><Othr><Id>DE00ZZZ00000000000</Id><SchmeNm><Prtry>SEPA</Prtry></SchmeNm></Othr></PrvtId></Id></CdtrSchmeId><DrctDbtTxInf><PmtId><EndToEndId>20131124120000-10000</EndToEndId></PmtId><InstdAmt Ccy="EUR">0.01</InstdAmt><DrctDbtTx><MndtRltdInf><MndtId>TEST-10000</MndtId><DtOfSgntr>2013-01-01</DtOfSgntr><AmdmntInd>false</AmdmntInd></MndtRltdInf></DrctDbtTx><DbtrAgt><FinInstnId><BIC>HYVEDEMM488</BIC></FinInstnId></DbtrAgt><Dbtr><Nm>MAX MUSTERMANN</Nm></Dbtr><DbtrAcct><Id><IBAN>DE89100208909876543210</IBAN></Id></DbtrAcct><RmtInf><Ustrd>SEPA-TEST-CORE</Ustrd></RmtInf></DrctDbtTxInf></PmtInf></CstmrDrctDbtInitn></Document>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.003.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.008.003.02 pain.008.003.02.xsd"><CstmrDrctDbtInitn><GrpHdr><MsgId>HW-GHD-0000000000000</MsgId><CreDtTm>2013-11-27T12:00:00Z</CreDtTm><NbOfTxs>1</NbOfTxs><CtrlSum>0.01</CtrlSum><InitgPty><Nm>MAX MUSTERMANN</Nm></InitgPty></GrpHdr><PmtInf><PmtInfId>HW-PMT-0000000000000</PmtInfId><PmtMtd>DD</PmtMtd><NbOfTxs>1</NbOfTxs><CtrlSum>0.01</CtrlSum><PmtTpInf><SvcLvl><Cd>SEPA</Cd></SvcLvl><LclInstrm><Cd>CORE</Cd></LclInstrm><SeqTp>FRST</SeqTp></PmtTpInf><ReqdColltnDt>2013-12-04</ReqdColltnDt><Cdtr><Nm>MAX MUSTERMANN</Nm></Cdtr><CdtrAcct><Id><IBAN>DE55100208900123456789</IBAN></Id></CdtrAcct><CdtrAgt><FinInstnId><BIC>HYVEDEMM488</BIC></FinInstnId></CdtrAgt><ChrgBr>SLEV</ChrgBr><CdtrSchmeId><Id><PrvtId><Othr><Id>DE00ZZZ00000000000</Id><SchmeNm><Prtry>SEPA</Prtry></SchmeNm></Othr></PrvtId></Id></CdtrSchmeId><DrctDbtTxInf><PmtId><EndToEndId>20131124120000-10000</EndToEndId></PmtId><InstdAmt Ccy="EUR">0.01</InstdAmt><DrctDbtTx><MndtRltdInf><MndtId>TEST-10000</MndtId><DtOfSgntr>2013-01-01</DtOfSgntr><AmdmntInd>false</AmdmntInd></MndtRltdInf></DrctDbtTx><DbtrAgt><FinInstnId><BIC>HYVEDEMM488</BIC></FinInstnId></DbtrAgt><Dbtr><Nm>MAX MUSTERMANN</Nm></Dbtr><DbtrAcct><Id><IBAN>DE89100208909876543210</IBAN></Id></DbtrAcct><RmtInf><Ustrd>SEPA-TEST-CORE</Ustrd></RmtInf></DrctDbtTxInf></PmtInf></CstmrDrctDbtInitn></Document>
Benötige ich eigentlich unbedingt noch die SEPA-API zusätzlich oder kann ich die XML als String irgendwie direkt an die Bank senden (low-level)?!
Bin für jede Hilfe dankbar.