IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

Compo HTTP et client SOAP webservice ?


Sujet :

Web & réseau Delphi

  1. #21
    Membre expérimenté

    Profil pro
    Enseignant
    Inscrit en
    Juillet 2003
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2003
    Messages : 296
    Par défaut
    d'après ce que tu me dis, le fichierpdf n'est pas encapsulé dans le document xml.

    Je rejoins DMO sur le fait de dire que le service web n'est pas très explicite, et qu'il ne fournit pas la méthode http invoke

    D'après les informations retrouvées sur le site, il faut arriver à récupérer la pièce jointe. Une méthode Java/Axis est fournie. Il faut donc arriver à la porter sur Delphi...

    Il doit certainement y avoir une méthode similaire à getAttachment(). Ne connaissant pas les bibliothèques utilisées par les services web et n'ayant pas Delphi sous les yeux, je suis incapable de t'aider. Mais je continue mes investigations

    On progresse ! Si tu trouves quelque chôse, tiens-moi au courant, ce sujet me semble très intéressant (peut-être pour la FAQ ?)

    edit: une piste éventuelle ici http://delphi.about.com/gi/dynamic/o...Fadvancedws%2F
    Regarde à Attachments

    edit2: WideString est utilisé pour des raisons de compatibilité, mais on peut généraliser en disant que c'est la même chôse que String

  2. #22
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    Effectivement dans mes nombreuses recherches pour trouver une solution à mon problème j'avais trouvé cette article mais hélas on peut pas faire grand chose quand on a pas accés aux infos/fonction/methode côté Serveur :'(

  3. #23
    Membre expérimenté

    Profil pro
    Enseignant
    Inscrit en
    Juillet 2003
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2003
    Messages : 296
    Par défaut
    Je n'ai fait que survoler la documentation en pdf du service web, mais il me semble assez complet...

    Tu dois le faire spécifiquement en Delphi ?

  4. #24
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    A terme oui, mais pour vérifier que je peux "chopper" le fichier attaché, j'ai même essayé avec NetBeans en Java et là toujours rien. Je commence serieusement à douter du bon fonctionnement côté Serveur. Je tiens à signaler que les responsables techniques côté serveur me certifient que cela fonctionne.

  5. #25
    Membre expérimenté

    Profil pro
    Enseignant
    Inscrit en
    Juillet 2003
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2003
    Messages : 296
    Par défaut
    Si ça peut t'aider, je peux essayer de faire un test de récupération de fichier en Java et Axis (il me semble qu'ils utilisent Axis, j'ai reconnu la présentation). De là on sera fixé...

    Et pour faire l'application en Delphi, la seule solution que je vois, c'est l'article en anglais parlant du SOAPAttachment

  6. #26
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    Salut Big,

    je veux bien que tu fasses un essai, cela me permettrai de savoir si avec d'autres applis cela fonctionne.

    As-tu tout ce qu'il te fait pour faire le test ? La requête à envoyer est un peu plus haut dans ce thread. Sinon pour changer le numero du brevet à envoyer tu peux essayer tout d'abord DocumentInquiry qui te renvoie les pdf dispo puis tu changes juste le numéro du brevet dans DocumentRetrieval (attention dans DocumentRetrieval les espaces sont necessaires dans le numero du brevet car il s'écrit sur 17 caractères)

    Merci en tout cas pour ton aide.

    Amicalement,
    Bruno

  7. #27
    Membre expérimenté

    Profil pro
    Enseignant
    Inscrit en
    Juillet 2003
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2003
    Messages : 296
    Par défaut
    J'ai tout ce qu'il faut, je crois. Si jamais ça t'aide, je t'enverrai une version java. Je ferai ça dès que j'ai du temps libre, et j'essaierai de faire un parallèle avec Delphi.

  8. #28
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    Mille merci !!

  9. #29
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    Mille merci !!
    j'en ai profité pour demander aux techniciens du côté Serveur de m'envoyer un exemple de réponse (il refuse de m'envoyer un exemple de client).

    J'attends de voir et je te tiens informé.

    Bruno

  10. #30
    DMO
    DMO est déconnecté
    Membre chevronné
    Avatar de DMO
    Profil pro
    Inscrit en
    Février 2004
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 290
    Par défaut
    Citation Envoyé par Big
    Tu remarqueras que j'ai des WideString et non des String :Smile:
    Cela depend du Delphi que l'on posséde ? moi j'ai D7 Studio Pro
    Non peu importe je pense.

    Par contre j'ai essayé la requête que tu cites en exemple : il semble qu'il faille utiliser la procédure distance "getPatentData", l'autre étant visiblement inopérante.

    Il me semble qu'il n'y a rien d'anormal, si ce n'est qu'effectivement, il n'y a pas de binaire en réponse, puisque le XML de réponse indique ne pas trouver le "Requested document (page) for EP 1616786A1 I".

    Regarde le XML de réponse que j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <WORLDPATENTDATA>
      <ERRORS>
        <ERROR TYPE="SEED_NOT_FOUND" CONTEXT="Document (page) not found during document retrieval.">
          <simple_message>Requested document (page) for EP 1616786A1 I  not found.</simple_message>
          <detailed_message>Seed EP 1616786A1 I  not found.</detailed_message>        
        </ERROR>
      </ERRORS>
    </WORLDPATENTDATA>
    Je l'obtiens en faisant ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    uses
      OpenPatentServices;
     
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      vOPS: OpenPatentServicesPortType;
    begin
      vOPS := GetOpenPatentServicesPortType;
      try
        Memo1.Text := vOPS.getPatentData('<OpenPatentServices ACTION="DocumentRetrieval"><WORLDPATENTDATA><DOCUMENT ID="EP 1616786A1 I " FORMAT="SINGLE_PAGE_PDF" SYSTEM="BNS" PAGE_NUMBER="1"/></WORLDPATENTDATA></OpenPatentServices>');
      finally
        vOPS := nil;
      end;
    end;
    Donc il te faut simplement étudier la requête XML que tu fais, il doit manquer des choses surement, en tous cas elle semble incorrecte, ou le document que tu veux n'est vraiment pas dispo.

    Pour comprendre comment former le XML de requete, et lire celui de réponse, tu as de dispo les XSD correspondants si tu veux :
    Requête : http://ops-i.espacenet.com/schema/ops_input.xsd
    Réponse : http://ops-i.espacenet.com/schema/ops_output.xsd

    Bon dev'

  11. #31
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    Non, non le document existe bien. C'est juste que le numero du brevet n'est pas bien écrit dans ta requete :

    Voici la réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <WORLDPATENTDATA><DOCUMENT ID="EP   1616786A1 I " PAGE_NUMBER="1" FORMAT="SINGLE_PAGE_PDF" SYSTEM="BNS">
      <DESC>FullDocument</DESC>
      <CONTENT_REF>EP   1616786A1 I .pdf</CONTENT_REF>
    </DOCUMENT></WORLDPATENTDATA>
    voici la bonne requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <OpenPatentServices ACTION="DocumentRetrieval"><WORLDPATENTDATA><DOCUMENT ID="EP   1616786A1 I " FORMAT="SINGLE_PAGE_PDF" SYSTEM="BNS" PAGE_NUMBER="1"/></WORLDPATENTDATA></OpenPatentServices>
    le ID doit avoir 17 caractéres.
    "EP...1616786A1.I." j'ai remplacé les espaces par des points.

  12. #32
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    Je viens de recevoir ENFIN un exemple de ce que le serveur renvoie :

    j'ai coupé le fichier binaire car sinon cela prend trop de place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    POST http://ops-i.espacenet.com/OpenPatentServices/webService HTTP/1.0
     
    Content-Type: text/xml; charset=utf-8
     
    Accept: application/soap+xml, application/dime, multipart/related, text/*
     
    User-Agent: Axis/1.1
     
    Host: ops-i.espacenet.com
     
    Cache-Control: no-cache
     
    Pragma: no-cache
     
    SOAPAction: ""
     
    Content-Length: 856
     
     
     
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <soapenv:Body><ns1:getDocumentData soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:EPO-OpenPatentServices-documentData" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <request xsi:type="xsd:string">&lt;OpenPatentServices ACTION=&quot;DocumentRetrieval&quot;&gt;&lt;WORLDPATENTDATA&gt;&lt;DOCUMENT ID=&quot;EP   1000000PAFP &quot; FORMAT=&quot;SINGLE_PAGE_PDF&quot; SYSTEM=&quot;BNS&quot; P
    AGE_NUMBER=&quot;1&quot;/&gt;&lt;/WORLDPATENTDATA&gt;&lt;/OpenPatentServices&gt;</request>
    </ns1:getDocumentData> </soapenv:Body>
    </soapenv:Envelope>
    HTTP/1.0 200 OK
     
    Date: Thu, 02 Mar 2006 17:57:51 GMT
     
    Server: IBM_HTTP_Server
     
    Content-Type: multipart/related; type="text/xml"; start="<DD6CFA21A0F61D1597644AEEEBDF8D34>"; .boundary="----=_Part_4_1466080032.1141322272423"
     
    Content-Language: en-US
     
    X-Cache: MISS from gvprox24.internal.epo.org
     
    Proxy-Connection: close
     
     
     
     
     
    ------=_Part_4_1466080032.1141322272423
     
    Content-Type: text/xml; charset=UTF-8
     
    Content-Transfer-Encoding: binary
     
    Content-Id: <DD6CFA21A0F61D1597644AEEEBDF8D34>
     
     
     
    <?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><ns1:getDocumentDataResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:EPO-OpenPatentServices-documentData"><return xsi:type="xsd:string">&lt;WORLDPATENTDATA&gt;&lt;DOCUMENT ID=&quot;EP   1000000PAFP &quot; PAGE_NUMBER=&quot;1&quot; FORMAT=&quot;SINGLE_PAGE_PDF&quot; S
    YSTEM=&quot;BNS&quot;&gt;
     
      &lt;DESC&gt;FirstPageClipping&lt;/DESC&gt;
     
      &lt;CONTENT_REF&gt;EP   1000000PAFP .pdf&lt;/CONTENT_REF&gt;
     
    &lt;/DOCUMENT&gt;&lt;/WORLDPATENTDATA&gt;
     
    </return></ns1:getDocumentDataResponse></soapenv:Body></soapenv:Envelope>
     
     
    ------=_Part_4_1466080032.1141322272423
     
    Content-Type: application/octet-stream
     
    Content-Transfer-Encoding: binary
     
    Content-Id: <EP   1000000PAFP .pdf>
     
     
     
    %PDF-1.3
    %....
     
    3 0 obj
    <<
    /Linearized 1
    /O 5
    /H [ 626 215 ]
    ...
    ...
    ...
    0000034018 00000 n
     
    trailer
    <<
    /Size 3
    >>
    startxref
    129
    %%EOF
     
     
     
    ------=_Part_4_1466080032.1141322272423--

    Mais par contre moi j'y suis toujours pas arrivé, j'ai bientôt plus de cheveux avec cette histoire !!!

    Merci pour votre aide à tous !

  13. #33
    Membre expérimenté

    Profil pro
    Enseignant
    Inscrit en
    Juillet 2003
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2003
    Messages : 296
    Par défaut
    La partie binaire se trouvait où ?

    Par ailleurs, je suis occupé à faire un client en java, mais je suis coincé au même endroit, et l'aide indiquée dans le pdf ne traite que de la partie soap, et pas de la partie fichier... Peut-être une histoire de DataHandlers, je dois poser la question dans le forum java.

    En tout cas, pour retraduire en Delphi, ça va être très compliqué.Tu devrais peut-être t'orienter vers delphi.NET (ou C#), car l'utilisation des web services est plus facile avec cette plateforme.

  14. #34
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    Hélas, j'ai pas trop le choix

    Et j'ai posté le message aussi sur le forum Java car j'ai fait aussi les essai avec Javabeans et toujours pas de resultats

    Bruno

  15. #35
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    Pour la partie binaire juste aprés le texte XML.

Discussions similaires

  1. Génération de Client de webservice SOAP
    Par habibouss dans le forum Services Web
    Réponses: 0
    Dernier message: 03/08/2014, 02h33
  2. [Web Service][SOAP] webservice : retour d'un tableau au client
    Par Florent08800 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 05/05/2012, 13h54
  3. [Web Service] Client SOAP ou autre pour appel webservice
    Par flo73 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 14/07/2010, 16h23
  4. Interface Web service : (Serveur en XML, HTTP) et un client SOAP
    Par commande dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 09/03/2009, 18h28
  5. [C#] [WebServices] Http Request et SOAP
    Par Piolet dans le forum Windows Forms
    Réponses: 17
    Dernier message: 02/02/2009, 17h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo