XML ile birlikte zip dosyası nı attach etmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
era
Üye
Mesajlar: 17
Kayıt: 01 Oca 2009 09:23

XML ile birlikte zip dosyası nı attach etmek

Mesaj gönderen era »

Arkadaşlar aşağıda paket gönderme servisi ile ilgili bir örnek input var delphide XML ile birlikte bir ek dosya yı attach ederek göndermek istiyorum
ancak ne indy compenentleri nede delphi webservices compenentleri ile yapamadım.XML ile birlikte zip dosyası nı attach ederek nasıl göndeririz Bir
fikri olan varmı yardımlarınız için şimdiden tşk.(delphi7 kullanıyorum)

PAKET GÖNDERME SERVİSİ İÇİN ÖRNEK İNPUT

------=_Part_1_12712138.1296647755910
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <rootpart@soapui.org>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sen="http://its.iegm.gov.tr/pts/sendpackage">
<soapenv:Header/>
<soapenv:Body>
<sen: sendFileParameters >
<sourceGLN>1234567890123</sourceGLN>
<destinationGLN>2345678901324</destinationGLN>
</sen: sendFileParameters>
</soapenv:Body>
</soapenv:Envelope>
------=_Part_1_12712138.1296647755910
Content-Type: application/zip
Content-Transfer-Encoding: binary
Content-ID: <filePart=3347141343459@soapui.org> PK â€?>̓@¯>̓@¯ÈÍQ(K-*ÎÌϳU2Ô3PR(.IÌKIÌÉÏKµUªL-
V²•SP°qqqptövƒ©6ª¶³ñu ÉÚÙyºú¸ Ci…Ä''¢¼Ä\ !î!ž~Ji™©9)%•@�â'¢Ì¼t%…pO—
-&Jú˜º‚ñê12À¦Ç‰=.(zRKRC2sSAJõa>
------=_Part_1_12712138.1296647755910—
varyemez
Üye
Mesajlar: 262
Kayıt: 01 Oca 2009 11:00
Konum: Bursa
İletişim:

Re: XML ile birlikte zip dosyası nı attach etmek

Mesaj gönderen varyemez »

Benim de başımda bu bela var.
Karşıdan gönderilenleri alabiliyorum ama send işinde ben de çuvalladım açıkçası.
delphi 2007 ile attach receive işi çözüldü fakat aynı kodlar delphi XE de çalışmıyor , daha doğrusu sapıtıyor.
sending olayı her iki versiyonda da olmadı. Ankaradakiler .NET C# kullanın diyor ama vakit yok ona da.
embarcadero forumlarında bu konuda çok şikayet var. MIME formatını desteklemiyor falan diyorlar ama öyle olsaydı receive çalışmazdı. bakalım ne yapacağız.
bu konuda geçenlerde soru da sormuştum cevap veren çıkmadı şimdiye kadar viewtopic.php?f=2&t=29548

soapUI ile dosya göndermeyi başarmıştım. sadece zip dosyalar kabul edilecekmiş.
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

Re: XML ile birlikte zip dosyası nı attach etmek

Mesaj gönderen Nemesis2005 »

Şöye bir kod buldum üstad inceleyiniz isterseniz...

Kod: Tümünü seç

http://delphi.about.com/od/delphitips2007/qt/httppost_delphi.htm
Her iyinin içinde bir Kötülük.Her Kötnün içide de bir iyilik vardır
era
Üye
Mesajlar: 17
Kayıt: 01 Oca 2009 09:23

Re: XML ile birlikte zip dosyası nı attach etmek

Mesaj gönderen era »

procedure TForm1.sendpackage(UserName,Pwd,sourceGLN,destinationGLN,filePath:string);
var
mgr : CoAttachmentManager;//IAttachmentManger;
atts: ISoapAttachments;
att : CoSoapAttachment;//ISoapAttachment;
env : ISOAPEnvelope;
http: IHTTPTransportAdv;
st : ISOAPTransport;

params: ISOAPNodes;
n : ISOAPNode;
n1: ISOAPNode;

serialize, uri,href: WideString;
Stream: TMemoryStream;
StrStream: TStringStream;
SL: TStrings;

transferId:integer;
begin
env := CoCoEnvelope.Create;
env.Set_EncodingStyle('');
env.SetMethod('sendFileParameters', 'http://its.iegm.gov.tr/pts/sendpackage');
mgr := CoCoAttachmentManager.Create;
mgr.Set_Format(formatMime);
//env.Get_URI(uri);
env.Get_Parameters(params);
params.Create('sourceGLN',sourceGLN, uri, '', '',n1);
params.Create('destinationGLN',destinationGLN, uri, '','',n1);

http := CoHTTPTransport.Create;
http.Authentication(UserName,pwd);

mgr.Get_Request(atts);
atts.Create(filePath, tnfMediaType,'application/zip', att);
params.Create('filePart', Unassigned, uri,'','', n1);
att.Get_Uri(uri);
n1.Set_href(uri);

att.Set_ContentId(uri);

//ShowMessage(uri);

http := CoHTTPTransport.Create;
//http.Set_SOAPAction('urn:testeIntf-Iteste#echoAttachment');
http.Set_SOAPAction('sendFileParameters');
mgr._Set_Transport(http);
st := mgr as ISOAPTransport;
env.Serialize(serialize);
SL:= TStringList.Create;
try
SL.Text:= serialize;
SL.SaveToFile('c:\send.xml');
finally
SL.Free;
end;

//ShowMessage(serialize);
st.Send('http://pts.saglik.gov.tr/PTS/PackageSenderWebService', serialize);
try
env.Parse(st, '');
env.Get_Parameters(params);
env.Get_URI(uri);

//params.Get_ItemByName('filePart', uri, n);
params.Get_Item(0, n1);
n1.Get_href(href);
finally
SL.Free;
end;

end;


Arkadaşlar aşağıdaki sent satırında XML in dopru bir şekilde ekli dosya ile birlikte SEND edilip edilip edilmediği bilgisini alamıyorum acaba kodta herhangi bir yanlışlık var.Yada başka bir yöntemmi kullanmalıyız.
st.Send('http://pts.saglik.gov.tr/PTS/PackageSenderWebService', serialize);
Cevapla