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—
XML ile birlikte zip dosyası nı attach etmek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: XML ile birlikte zip dosyası nı attach etmek
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ş.
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ş.
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir
Re: XML ile birlikte zip dosyası nı attach etmek
Şö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
Re: XML ile birlikte zip dosyası nı attach etmek
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);
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);