Einzelnen Beitrag anzeigen

kostgr

Registriert seit: 4. Dez 2008
5 Beiträge
 
Delphi 2010 Professional
 
#1

Problem mit'm Ansprechen von WebService

  Alt 29. Jan 2010, 16:19
Ich hab mal ein Problem mit ansprechen von Webservice von Delphi aus.

Falls man D7 nimmt - dann funktioniert die Kommunikation, man kann aber timeout nicht hochsetzen.
Falls man D2009 nimmt - dann funktioniert die Kommunikation nicht.

D7 Request:
XML-Code:
<?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:Body>
    <GetDebitorList xmlns="http://xxx.eu/">
      <YIS_DEBI_GETLIST xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
        <ADDRESS/>
        <ADDRESS_AP/>
        <AEDAT/>
        <ERDAT/>
        <KTOKD/>
        <KUNNR/>
        <RETURN/>
        <YCMT_ADRESSE/>
      </YIS_DEBI_GETLIST>
    </GetDebitorList>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
D2009 Request:
XML-Code:
<?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:Body>
    <GetDebitorList xmlns="http://xxx.eu/">
      <YIS_DEBI_GETLIST>
        <ADDRESS xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/"/>
        <ADDRESS_AP xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/"/>
        <AEDAT xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/"/>
        <ERDAT xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/"/>
        <KTOKD xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/"/>
        <KUNNR xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/"/>
        <RETURN xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/"/>
        <YCMT_ADRESSE xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/"/>
      </YIS_DEBI_GETLIST>
    </GetDebitorList>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
So ein Object kommt an .NET-Seite nicht an. Nach 2 Tagen Delphi-Sourcen-Debuggen hat es geklappt mit auskommentiertem FIX_ELEM_NODE_NS define

D2009 Request mit auskommentiertem FIX_ELEM_NODE_NS define:
XML-Code:
<?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:Body>
      <GetDebitorList xmlns="http://xxx.eu/">
        <YIS_DEBI_GETLIST xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
        <ADDRESS/>
        <ADDRESS_AP/>
        <AEDAT/>
        <ERDAT/>
        <KTOKD/>
        <KUNNR/>
        <RETURN/>
        <YCMT_ADRESSE/>
        </YIS_DEBI_GETLIST>
      </GetDebitorList>
    </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>
Allerdings kann ich kein String übergeben bekommen:
Für die string-Typen werden dann die Knoten
<xsd:GET_TEXTE>bla</xsd:GET_TEXTE> generiert. Wobei .NET anscheinend <GET_TEXTE>bla</GET_TEXTE> erwartet.

Mach ich was falsch?
Hat jemand die Idee, wie das zu fixen sei?

Vielen Dank an allen!

Konstantin

P.S.: Kurze Test in D2010 hat dasselbe Problem aufgeweisen.
Konstantin
  Mit Zitat antworten Zitat