Loading ...
Sorry, an error occurred while loading the content.

4141Using SOAP to transfer XML document

Expand Messages
  • nonsolosoft
    Nov 1, 2004
    • 0 Attachment
      Hello,

      I've to comunicate with a SOAP server that has not defined any method,
      or, to say it better, it has only a method and it doesn't accept any
      SOAP message declaring that method.

      I've read about this kind of server:
      http://www.perfectxml.com/wp/5091/5091_Chap03/css/5091_Chap03_32.htm

      I'm able now to construct using SOAP::Lite the right SOAP Message for
      it, but I've not understood how to make the SOAP::Lite transfer without
      it modifies the Message.

      Here there is the message:

      <?xml version="1.0" encoding="UTF-8"?>
      <SBNMarc xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
      schemaVersion="1.07"
      xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
      xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:xsd="http://www.w3.org/1999/XMLSchema"
      xsi:noNamespaceSchemaLocation="SBNMarcv107.xsd">
      <SbnUser>
      <Biblioteca xsi:type="xsd:string">EXXAMM</Biblioteca>
      <UserId xsi:type="xsd:int">010047</UserId>
      </SbnUser>
      <SbnMessage>
      <SbnRequest>
      <Cerca tipoOrd="1" tipoOutput="000" maxRighe="15" numPrimo="1">
      <CercaElementoAut>
      <CercaDatiAut>
      <tipoAuthority xsi:type="xsd:string">AU</tipoAuthority>
      <canaliCercaDatiAut>
      <T001 xsi:type="xsd:string">CFIV006324</T001>
      </canaliCercaDatiAut>
      </CercaDatiAut>
      </CercaElementoAut>
      </Cerca>
      </SbnRequest>
      </SbnMessage>
      </SBNMarc>

      Following there is when I use it calling the only method defined:

      <?xml version="1.0" encoding="UTF-8"?>
      <SOAP-ENV:Envelope
      xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
      xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
      xmlns:xsd="http://www.w3.org/1999/XMLSchema"
      SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <SOAP-ENV:Body>

      <namesp1:Esegui xmlns:namesp1="urn:sbnmarc.akros.it/SbnmarcService">

      <SBNMarc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      schemaVersion="1.07"
      xsi:noNamespaceSchemaLocation="SBNMarcv107.xsd">
      <SbnUser>
      <Biblioteca xsi:type="xsd:string">EXXAMM</Biblioteca>
      <UserId xsi:type="xsd:int">010047</UserId>
      </SbnUser>
      <SbnMessage>
      <SbnRequest>
      <Cerca tipoOrd="1" tipoOutput="000" maxRighe="15" numPrimo="1">
      <CercaElementoAut>
      <CercaDatiAut>
      <tipoAuthority xsi:type="xsd:string">AU</tipoAuthority>
      <canaliCercaDatiAut>
      <T001 xsi:type="xsd:string">CFIV006324</T001>
      </canaliCercaDatiAut>
      </CercaDatiAut>
      </CercaElementoAut>
      </Cerca>
      </SbnRequest>
      </SbnMessage>
      </SBNMarc>
      </namesp1:Esegui>
      </SOAP-ENV:Body>
      </SOAP-ENV:Envelope>

      As you can see there is the tag:
      <namesp1:Esegui xmlns:namesp1="urn:sbnmarc.akros.it/SbnmarcService">

      and it doesn't like to the SOAP server.

      I actually make the call as follow:
      $lite = SOAP::Lite
      ->
      proxy('http://myaccount:mypassword@their_Server.it/indice/servlet/soapserver')
      -> uri('urn:their_Server.it/SbnmarcService')
      -> Esegui($var4);

      I hope to receive suggestion about how to transfer the first form of
      this message from SOAP::Lite.

      Thank you in advance, \fer
    • Show all 8 messages in this topic