Web Görseller Haberler Gruplar Bloglar Çeviri Gmail diğer »
Son Ziyaret Edilen Gruplar | Yardım | Oturum açın
Google Grupları Giriş
Creating Soap Envelope Header and wsa code in win32
Şu anda bu grupta ilk sırada gösterilen çok fazla sayıda konu var. Bu konuyu ilk sırada göstermek istiyorsanız, bu seçeneği başka bir konudan kaldırmalısınız.
Talebiniz işlenirken bir hata oluştu. Lütfen tekrar deneyin.
bayrak
  3 ileti - Tümünü daralt  -  Tümünü şu dile çevir: Çeviri (Tüm orijinalleri görüntüle)
İleti gönderdiğiniz grup bir Usenet grubudur. Bu gruba ileti gönderdiğinizde İnternetteki herkes e-posta adresinizi görecektir.
Yanıt iletiniz gönderilmedi.
Yayınınız başarılı oldu
 
Gönderen:
Kime:
Cc:
İzleyen:
Cc Ekle | İzleyen Ekle | Konuyu Düzenle
Konu:
Doğrulama:
Doğrulama amacıyla, lütfen aşağıdaki resimde gördüğünüz karakterleri veya erişilebilirlik simgesini tıkladığınızda duyduğunuz rakamları yazın. Dinleyin ve duyduğunuz sayıları girin
 
İbrahim KAZANCI  
Profili göster   Şu dile çevir: Çeviri (Orijinali Görüntüle)
 Diğer seçenekler 19 Temmuz 2008, 15:17
Haber Grupları: borland.public.delphi.webservices.soap
Kimden: İbrahim KAZANCI <ikaza...@yahoo.com>
Tarih: Sat, 19 Jul 2008 15:17:27 +0300
Yerel: Ctesi 19 Temmuz 2008 15:17
Konu: Creating Soap Envelope Header and wsa code in win32
Hello,

It will be a long message. Because i am confused on many parts of this
soap thing. If i pass this stage i have many questions to ask :)

I'm trying to use a web service of a newly starting hl7 project in
Turkey. (Bad side is that developers are not giving delphi examples,
just c# and java.)

Service wsdl file in "muayene" directory at
http://www.sagliknet.saglik.gov.tr/portal_pages/notlogin/bilisimciler...

I want to add some wsse and wsa (is it required?) header into my httprio
xml output.

I added wsse security tags as described in
http://groups.google.com.tr/group/borland.public.delphi.webservices.s...
and it solved that part. (i added WSSE.pas which given at above link to
uses list.)

But wsa section still missing in created xml.

1. Should i create a TSoapHeader class myself which includes Action,
replyto parameters to add wsa:Action, wsa:replyto, ... information to
soap header.

2. or is there a wsdl file which i should create a pas file from that to
get a wsa structure to use.

3. i try to use Headers := GetService(RIO) as ISOAPHeaders; may be it
will solve but can't find GetService function in 2006. Is it only in D2007?

When i send my xml code at their test site
(http://www.sagliknet.saglik.gov.tr:7750/USBSTest/pages/testHL7WS.jsp)
(with selecting not added ["eklemedim" in Turkish] radiobutton for soap
envelope format) it's returning some xml code back.

But if i select "added" ["ekledim" in Turkish] radiobutton for soap env.
format i get a "The endpoint reference (EPR) for the Operation not found
is
http://TestAppSrv1.esaglik.gov.tr:7750/Muayene/services/MCCI_AR000001...
and the WSA Action =" error for same xml file.

I think my soapheader has some mistakes.

i used following delphi code to create and send header. Is there someone
to tell me what's wrong or missing in the code.

Regards,

Ýbrahim KAZANCI

(frmMain.HnetMuayene : HTTPRIO Component...)
---------------------------------------
var
   netMuayene: MCCI_IN000001TR01;
   netMuayeneServis: MCCI_AR000001TR_PortType;
   netMuayeneAnswer: MCCI_IN000002TR01;
   Hdr: Security;
   Headers: ISOAPHeaders;
   HeadersT: TSOAPHeader;
begin
   Hdr := Security.Create;
   try
     Hdr.MustUnderstand := False;
     Hdr.Timestamp := TimeStamp.Create;
     Hdr.Timestamp.Id :=
'Timestamp-af6fe54b-7723-41f9-8f27-c1b3fecc5ff5'; // should i send this
id or will it be created automatically
     Hdr.Timestamp.Created := Created.Create;
     Hdr.Timestamp.Created.AsDateTime := Now;
     Hdr.Timestamp.Expires := Expires.Create;
     Hdr.Timestamp.Expires.AsDateTime := Now;
     Hdr.UsernameToken := UsernameToken.Create;
     Hdr.UsernameToken.Id :=
'SecurityToken-15a785ac-fc7c-4784-94f7-7f79387fa2f1';  // should i send
this id
     Hdr.UsernameToken.Username := 'xxxx';
     Hdr.UsernameToken.Password := Password.Create;
     Hdr.UsernameToken.Password.Type_ :=
'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-toke...
     Hdr.UsernameToken.Password.Text := 'yyyy';
     Hdr.UsernameToken.Created := Created.Create;
     Hdr.UsernameToken.Created.XSToNative('2008-07-16T14:04:08Z');
   finally
//    Hdr.Free;
   end;

   frmMain.HnetMuayene.Port := '6246';
   frmMain.HnetMuayene.HTTPWebNode.UseUTF8InHeader := true;

   netMuayene := MCCI_IN000001TR01.Create;
   netMuayene.id := id42.Create;
   netMuayene.id.root := '2.16.840.1.113883.3.129.2.1.2';
   netMuayene.id.extension := '5T2504E0-4F89-11D3-9A0C-0305E82C330';
   netMuayene.receiver := MCCI_IN000001TR01_Receiver.Create;
   netMuayene.receiver.typeCode := RCV;
   netMuayene.receiver.device := MCCI_IN000001TR01_Device2.Create;
   netMuayene.receiver.device.classCode := 'DEV';
   netMuayene.receiver.device.determinerCode := 'INSTANCE';
   netMuayene.receiver.device.id := id41.Create;
   netMuayene.receiver.device.id.root := '2.16.840.1.113883.3.129.1.1.5';
   netMuayene.receiver.device.id.extension := 'USBS';
   ....
   ....

   netMuayeneServis := GetMCCI_AR000001TR_PortType(false, '',
frmMain.HnetMuayene);

   // not working "unknown identifier" error about getservice.
   // Headers := GetService(frmMain.HnetMuayene) as ISOAPHeaders;

   Headers := netMuayeneServis as ISoapHeaders;
   Headers.OwnsSentHeaders := True;

   // HeadersT := TSoapHeader.Create;
   // HeadersT.MustUnderstand := False;

   // expecting parameter as TSOAPHeader, so not working as ISOAPHeaders
   // (netMuayeneServis as ISOAPHeaders).send(Headers);

   // doesn't change anything
   // (netMuayeneServis as ISOAPHeaders).send(HeadersT);

   // i dont know if it means anything
   // Headers.Send(HeadersT);

   Headers.Send(hdr);

   // doesn't change anything also
   // frmMain.HnetMuayene.SOAPHeaders.Send(hdr);

   frmMain.HnetMuayene.SOAPHeaders.SetOwnsSentHeaders(True);

   netMuayeneAnswer := MCCI_IN000002TR01.Create;
   try
     netMuayeneAnswer :=
netMuayeneServis.MCCI_AR000001TR_MCCI_IN000001TR(netMuayene);
   except

   end;

my xml/soap file output:
----------------------------
<?xml version="1.0"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <SOAP-ENV:Header>
                <Security
xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-se...">
                        <Timestamp
xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-ut..."
Id="Timestamp-af6fe54b-7723-41f9-8f27-c1b3fecc5ff5">
                                <Created>2008-07-19T14:33:53.153+03:00</Created>
                                <Expires>2008-07-19T14:33:53.153+03:00</Expires>
                        </Timestamp>
                        <UsernameToken Id="SecurityToken-15a785ac-fc7c-4784-94f7-7f79387fa2f1">
                                <Username>xxxx</Username>
                                <Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-toke...">yyyy</Password>
                                <Nonce>
                                </Nonce>
                                <Created
xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-ut...">2008-07-16T14:04:08Z</Created>
                        </UsernameToken>
                </Security>
        </SOAP-ENV:Header>
        <SOAP-ENV:Body>
                <MCCI_IN000001TR01 xmlns="urn:hl7-org:v3">
                        <id nullFlavor="" root="2.16.840.1.113883.3.129.2.1.2"
extension="5T2504E0-4F89-11D3-9A0C-0305E82C330"
assigningAuthorityName="" displayable="false" />
                        <creationTime xsi:nil="true" />
                        <responseModeCode xsi:nil="true" />
                        <interactionId xsi:nil="true" />
                        <processingCode xsi:nil="true" />
                        <processingModeCode xsi:nil="true" />
                        <acceptAckCode xsi:nil="true" />
                        <receiver typeCode="RCV">
                                <device classCode="DEV" determinerCode="INSTANCE">
                                        <id nullFlavor="" root="2.16.840.1.113883.3.129.1.1.5"
extension="USBS" assigningAuthorityName="" displayable="false" />
                                </device>
                        </receiver>
                        <sender xsi:nil="true" />
                        <controlActEvent xsi:nil="true" />
                </MCCI_IN000001TR01>
        </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Web Service user guide indicate that wsse part has to be in this format:
----------------------------------------------
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsse="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-se..."...>

   ...
     <wsse:Security soap:mustUnderstand="0">
         ...
        <wsse:UsernameToken>
           <wsse:Username>denemeKullaniciAdi</wsse:Username>
           <wsse:Password>denemeKullaniciSifresi</wsse:Password>
        <wsse:UsernameToken>
       ...
     </ wsse:Security>
  ...
</soap:Envelope>

and their soap template example in their site
(http://www.sagliknet.saglik.gov.tr/portal_pages/notlogin/bilisimciler...)
-----------------------
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-se..."
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-ut..."
xsi:schemaLocation="urn:hl7-org:v3
C:\DOCUME~1\erdinc.sabur\Desktop\msvs_semalari\Muayene\MCCI_IN000001TR01.xs d">
        <soap:Header>
                <wsse:Security>
                        <wsu:Timestamp wsu:Id="Timestamp-5fd6873f-ede3-47da-938f-413bc55408b5">
                                <wsu:Created>2008-05-27T09:30:00Z</wsu:Created>
                                <wsu:Expires>2008-05-27T09:35:00Z</wsu:Expires>
                        </wsu:Timestamp>
                        <wsse:UsernameToken
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-ut..."
wsu:Id="SecurityToken-04ce24bd-9c7c-4ca9-9764-92c53b0662c5">
                                <wsse:Username>xxxx</wsse:Username>
                                <wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-toke...">yyyy</wsse:Password>
                                <wsse:Nonce>gTBAwhKEamVAuLiDhbNCwA==</wsse:Nonce>
                                <wsu:Created>2008-05-27T09:30:00Z</wsu:Created>
                        </wsse:UsernameToken>
                </wsse:Security>
        </soap:Header>
        <soap:Body>
                <MCCI_IN000001TR01 xmlns="urn:hl7-org:v3">
                        <id root="2.16.840.1.113883.3.129.2.1.2"
extension="5b50d046-b567-4fba-a365-60c220c9fae1"/>
                        <creationTime value="20080502102643"/>
                        <responseModeCode code="Q"/>
                        <interactionId root="2.16.840.1.113883.3.129.2.1.1"
extension="MCCI_IN000001TR01"/>
                        <processingCode code="P"/>
                        <processingModeCode code="T"/>
                        <acceptAckCode code="AL"/>
                        <receiver typeCode="RCV">
                                <device classCode="DEV" determinerCode="INSTANCE">
                                        <id root="2.16.840.1.113883.3.129.1.1.5" extension="USBS"/>
                                </device>
                        </receiver>
                        <sender typeCode="SND">
                                <device classCode="DEV" determinerCode="INSTANCE">
                                        <id root="2.16.840.1.113883.3.129.1.1.5" extension="SRDC-Deneme"/>
                                </device>
                        </sender>
                        <controlActEvent classCode="CACT" moodCode="EVN">
                                <subject typeCode="SUBJ">
                                        <examination classCode="DOCCLIN" moodCode="EVN">
                                                <id root="2.16.840.1.113883.3.129.2.1.3"
...

tamamını oku »


    Yazarı yanıtla    Yönlendir  
İleti gönderebilmek için önce Oturum açmalısınız.
İleti gönderebilmek için önce bu gruba katılmalısınız.
İletinizi göndermeden önce lütfen abonelik ayarları sayfasında rumuzunuzu güncelleyin.
İleti göndermek için gerekli izne sahip değilsiniz.
sait sari  
Profili göster   Şu dile çevir: Çeviri (Orijinali Görüntüle)
 Diğer seçenekler 23 Temmuz 2008, 21:14
Haber Grupları: borland.public.delphi.webservices.soap
Kimden: "sait sari" <s...@meddata.com.tr>
Tarih: Wed, 23 Jul 2008 21:14:41 +0300
Yerel: Çarş 23 Temmuz 2008 21:14
Konu: Re: Creating Soap Envelope Header and wsa code in win32
hi,
You can not create soap header for security as follows that you write.
Because wsse writing is different.
We can overwrite(rewrite) nativetosoap procedure in TSoapheader and problem
can be solved.

Dr.Sait SARI
Meddata Bilisim.

"Ýbrahim KAZANCI" <ikaza...@yahoo.com>, iletisinde þunu yazdý,
news:4881db50@newsgroups.borland.com...

...

tamamını oku »


    Yazarı yanıtla    Yönlendir  
İleti gönderebilmek için önce Oturum açmalısınız.
İleti gönderebilmek için önce bu gruba katılmalısınız.
İletinizi göndermeden önce lütfen abonelik ayarları sayfasında rumuzunuzu güncelleyin.
İleti göndermek için gerekli izne sahip değilsiniz.
İbrahim KAZANCI  
Profili göster   Şu dile çevir: Çeviri (Orijinali Görüntüle)
 Diğer seçenekler 24 Temmuz 2008, 16:08
Haber Grupları: borland.public.delphi.webservices.soap
Kimden: İbrahim KAZANCI <ikaza...@yahoo.com>
Tarih: Thu, 24 Jul 2008 16:08:49 +0300
Yerel: Perş 24 Temmuz 2008 16:08
Konu: Re: Creating Soap Envelope Header and wsa code in win32

Thanks for your answer and explanation. I passed wsse security header
section (as I said before). I think you'd used different way to do that.

With some experiment i understand that wsa section not very important
and the delphi code which i send is enough to create soap header. If
anybody interests i hope this codes will help them.

Now i'm trying to create and send examination codes to server and
utilizing results. I'm going step by step further.

Thanks for ideas again.

Ýbrahim KAZANCI

sait sari yazmýþ:

...

tamamını oku »


    Yazarı yanıtla    Yönlendir  
İleti gönderebilmek için önce Oturum açmalısınız.
İleti gönderebilmek için önce bu gruba katılmalısınız.
İletinizi göndermeden önce lütfen abonelik ayarları sayfasında rumuzunuzu güncelleyin.
İleti göndermek için gerekli izne sahip değilsiniz.
İletilerin sonu
« Tartışmalara Dön « Daha yeni konu     Daha eski konu »

Grup oluştur - Google Grupları - Google Ana Sayfa - Hizmet Şartları - Gizlilik Politikası
©2009 Google