Avatar billede trinerunge Nybegynder
13. juni 2012 - 15:25 Der er 16 kommentarer og
1 løsning

Hente XML-fil (SOAP 1.2) med standardprogram

Hej Alle

Dette spørgsmål er sikkert dødsimpelt for de af jer der ved det, men nu ved jeg ikke lige hvordan man gør...

Jeg skal hente en XML-fil fra et drev via et SOAP kald med et GUID.

Findes der et standardprogram der kan gøre dette relativt nemt? -Altså noget med at indsætte GUID og host et ellet andet sted, sende requesten afsted, og - bum - hentes XML-filen ind.

Jeg har en stump kode her som exempel på requesten (men vil som sagt gerne undgå at kode...):

POST /ws/Default.asmx HTTP/1.1
Host: www.dette_er_en_host.dk
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <Get xmlns="http://tempuri.org/">
      <guid>string</guid>
    </Get>
  </soap12:Body>
</soap12:Envelope>

Hvis jeg ikke kan komme udenom at kode: Hvordan skal jeg så pakke ovenstående ind i noget PHP?

På forhånd tak for svar :-)

mh Trine Runge
Avatar billede arne_v Ekspert
13. juni 2012 - 15:51 #1
Jeg mener at der er mange som bruger soapUI til dette.
Avatar billede arne_v Ekspert
13. juni 2012 - 15:52 #2
Jeg har ikke selv brugt det. Jeg ville kode noget - i Java eller C# evt. Python.
Avatar billede trinerunge Nybegynder
14. juni 2012 - 10:10 #3
Hej igen

Jeg har prøvet med soapUI og fik hul igennem, men desværre kunne jeg kun hente en XML-fil på ca. 50 KB, og den fil jeg skal hente er på ca. 5 MB. Det er muligt at jeg kan bruge soapUI, og bare har konfigureret forkert, men jeg har på fornemmelsen at det er noget større jeg har brug for...

Men altså - skønt at jeg fik hul igennem til et eller andet der virker...

Hvis nogen har forslag til et andet program der kan hente XML-filer via SOAP-kald tager jeg imod med kyshånd :-)

mh Trine
Avatar billede arne_v Ekspert
14. juni 2012 - 11:30 #4
5 MB er meget for en GUI.

Du har nok brug for et program.

Har du URL til en WSDL?

Er det en public service?
Avatar billede trinerunge Nybegynder
14. juni 2012 - 13:30 #5
Hej Arne og I andre der læser denne tråd

Der er en WSDL, som tilgås via en URL - like: http://www.dette_er_en_host.dk/ws/Default.asmx?WSDL.

Jeg ved ikke helt hvad du mener med om det er en public service. Det er ikke en service alle og enhver har adgang til. Det er en service der tilbydes udvalgte dataaftagere, som kan tilgå servicen via en GUID - altså en kode.

Den fil det skal hentes fylder som sagt ca. 5 MB, og skulle gerne hentes ud som en helt almindelig XML-fil.

Kan du/I anbefale et program?

På forhånd tak

mh Trine
Avatar billede Kathariina Nybegynder
14. juni 2012 - 18:01 #6
Hej igen

Fandt et program Altova, som kunne klare den og fik så sjovt nok en mail fra vores kære leverandør om at det også kan gøres fra Visual Studio. Så - ja jeg fandt selv ud af det, men derfor skal Arne da have nogle point for at lede mig på vej :-)
Avatar billede trinerunge Nybegynder
14. juni 2012 - 18:07 #7
Og her er point til Arne
Avatar billede trinerunge Nybegynder
14. juni 2012 - 18:09 #8
Nå-men Arne. Hvis du vil have dine 30 point må du fortælle mig hvordan de gives fra dette site, for det går vist helt af sig selv...
Avatar billede arne_v Ekspert
16. juni 2012 - 04:03 #9
jeg skal smide et svar foerst
Avatar billede trinerunge Nybegynder
18. juni 2012 - 09:12 #10
Har prøvet med at skrive er svar, pørver igen igen...
Avatar billede trinerunge Nybegynder
18. juni 2012 - 09:13 #11
svar igen...
Avatar billede trinerunge Nybegynder
18. juni 2012 - 10:17 #12
Hej Arne.

Jeg kan ikke give point, fordi du ikke har svaret, men kun kommenteret...

nå men nu vi alligevel er igang. Er det så ikke muligt at lægge den stump request-kode jeg har lagt i toppen af denne tråd ind i en XML-fil, lægge filen på en server, og smide requesten afsted? - hvorefter svaret kommer tilbage lægger sig på serveren i en XML, som indeholder noget a la det her:

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <GetResponse xmlns="http://tempuri.org/">
      <GetResult>string</GetResult>
    </GetResponse>
  </soap12:Body>
</soap12:Envelope>

Hvorefter jeg hiver "String" ud af denne "envelope" med noget kode...

På forhånd tak for hjælpen :-)

Trine
Avatar billede arne_v Ekspert
19. juni 2012 - 03:33 #13
#9 er et svar
Avatar billede arne_v Ekspert
19. juni 2012 - 03:35 #14
Du kan sagtens kode noget som laeser request XML fra fil og sender det og skriver respons til en ny XML fil.

Du kan ogsaa parse en XML fil og hente den resukt string ud.

Foretraekker du PHP?
Avatar billede trinerunge Nybegynder
19. juni 2012 - 08:57 #15
tak
Avatar billede trinerunge Nybegynder
19. juni 2012 - 08:59 #16
Yuhuuu det lykkedes :-)
Avatar billede trinerunge Nybegynder
19. juni 2012 - 09:10 #17
Hej Arne.

Jeg har brug for noget meget konkret, så jeg kan teste den request, som vi sender afsted. Jeg har aldrig arbejdet med XML før, men har en fornemmelse af at det ikke er raketvidenskab. Det er lykkedes at få møvet requesten afsted via Altova, og få svar tilbage på de data jeg skal have ud. Nu ønsker jeg at teste direkte via ftp og en request der sendes afsted. Jeg er ikke klar over om XML kan sende requests afsted direkte eller om der skal noget program kode ind over. Hvis det er kan jeg programmere i PHP.

Jeg har simpelthen brug for at finde ud af hvordan det her fungerer selv. Vi har en leverandør som tager åpgerpris for ALT. Så nu søger jeg hjælp hvor der kan findes hjælp. Hvis du har et hint til hvor jeg på et meget konkret for dummies niveau kan checke det her ud, ville jeg blive meget glad :-)

På forhånd tak.

Trine
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester