Soap Post Und Php

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Soap Post Und Php

    Hallo

    Ich bin ein SOAP Anfänger und müsste für einen kleinen Online-Shop die Bestellangaben mit SOAP an einen Server schicken, wo die Bestellungen verarbeitet werden. Nun sind die Angaben ziemlich komplex und ich weiss nicht recht, wie dies mit PHP schreiben muss.... habe schon mal folgendes ausprobiert, aber es funktioniert nicht:
    PHP-Code:
    $client = new SoapClient("https://secure.nationale-apotheek.nl/OrderSendWebservice/Service.asmx?WSDL"
    array(
    'proxy_login'    => "someword",
    'proxy_password' => "somepw"));

    $arrMessageTypeSection=array();
    $arrMessageTypeSection[0]=new SoapParam('test','MessageOwner');
    $arrMessageTypeSection[1]=new SoapParam('flase','IsTest');

    $arrCustomerSection=array();
    $arrCustomerSection[0]=new SoapParam('test','CustomerId');
    $arrCustomerSection[1]=new SoapParam('test','LastName');

    $arrMessage=array();
    $arrMessage[0]=new SoapParam($arrMessageTypeSection'MessageTypeSection');
    $arrMessage[1]=new SoapParam($arrCustomerSection'CustomerSection');
    $result $client->__call("SendOrder",$arrMessage);

    //var_dump ($arrMessage); 
    Ich müsste den Request wie folgt schicken:
    Code:
    POST /OrderSendWebservice/Service.asmx HTTP/1.1
    Host: diewebsite.nl
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    SOAPAction: "http://denationaleapotheek.nl/SendOrder"
    
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <SendOrder xmlns="http://denationaleapotheek.nl/">
          <message xmlns="http://denationaleapotheek.nl/Schemas/OrderSchema.xsd">
            <MessageTypeSection>
              <MessageType>string</MessageType>
              <Version>string</Version>
              <Release>string</Release>
              <MessageOwner>string</MessageOwner>
              <IsTest>string</IsTest>
            </MessageTypeSection>
            <InterchangeSection>
              <Sender>
                <SenderID>string</SenderID>
                <SenderContactName>string</SenderContactName>
                <SenderTelephone>string</SenderTelephone>
                <SenderEmail>string</SenderEmail>
                <SenderApplicationReference>string</SenderApplicationReference>
              </Sender>
              <Receiver>
                <ReceiverID>string</ReceiverID>
                <ReceiverContactName>string</ReceiverContactName>
                <ReceiverTelephone>string</ReceiverTelephone>
                <ReceiverEmail>string</ReceiverEmail>
                <ReceiverApplicationReference>string</ReceiverApplicationReference>
              </Receiver>
              <DateTime>
                <DateOfPreparation>string</DateOfPreparation>
                <TimeOfPreparation>string</TimeOfPreparation>
              </DateTime>
            </InterchangeSection>
            <CustomerSection>
              <CustomerId>string</CustomerId>
              <LastName>string</LastName>
              <MiddleName>string</MiddleName>
              <Initials>string</Initials>
              <BirthDate>string</BirthDate>
              <Gender>string</Gender>
              <CustomerStreet>string</CustomerStreet>
              <CustomerHouseNumber>string</CustomerHouseNumber>
              <CustomerPostalCode>string</CustomerPostalCode>
              <CustomerCity>string</CustomerCity>
              <CustomerTelephone>string</CustomerTelephone>
              <CustomerEmailAddress>string</CustomerEmailAddress>
              <CustomerBankAccount>string</CustomerBankAccount>
            </CustomerSection>
            <OrderSection>
              <PaymentMethode>string</PaymentMethode>
              <MailBoxDeleiveryAllowed>string</MailBoxDeleiveryAllowed>
              <Remarks>string</Remarks>
              <OrderReference>string</OrderReference>
              <DeliveryAddressSection>
                <Street>string</Street>
                <HouseNumber>string</HouseNumber>
                <PostalCode>string</PostalCode>
                <City>string</City>
              </DeliveryAddressSection>
              <OrderedItemSection>
                <OrderReference>string</OrderReference>
                <Quantity>string</Quantity>
                <ArticleId>string</ArticleId>
                <Name>string</Name>
                <EAN>string</EAN>
              </OrderedItemSection>
              <OrderedItemSection>
                <OrderReference>string</OrderReference>
                <Quantity>string</Quantity>
                <ArticleId>string</ArticleId>
                <Name>string</Name>
                <EAN>string</EAN>
              </OrderedItemSection>
            </OrderSection>
          </message>
        </SendOrder>
      </soap:Body>
    </soap:Envelope>
    
    
    Response:
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <SendOrderResponse xmlns="http://denationaleapotheek.nl/" />
      </soap:Body>
    </soap:Envelope>
    Wäre um ein bisschen Hilfe sehr dankbar!
    Gruss,
    Pat
    Zuletzt geändert von paddle; 18.01.2008, 10:50.

  • #2
    1. code umbrechen!
    2. was funktioniert nicht?
    3. error_reporting eingestellt?

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      hallo peter

      folgende fehlermeldung kommt:

      Code:
      Fatal error: Uncaught SoapFault exception: 
      [soap:Server] Server was unable to process request. 
      ---> Object reference not set to an instance of an object. 
      in ../phpnsoap.php:18 Stack trace: 
      #0 ../phpnsoap.php(18): 
      SoapClient->__call('SendOrder', Array) #1 {main} thrown in ../phpnsoap.php on line 18
      Zuletzt geändert von paddle; 18.01.2008, 12:41.

      Kommentar


      • #4
        code umbrechen, aber dalli. solange ich hier noch horizontale scrollbalken sehe, werde ich dir nicht helfen!

        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          angepasst - hoffe die scrollbalken sind jetzt weg bei dir danke und gruss, pat

          ... ich hab gerade folgendes zur fehlermeldung gefunden

          The SOAP API may not return certain elements or may not return
          certain container elements if there is no data to return.
          Ich will ja Daten einfügen... stimmt hier mein obenaufgeführter Ansatz schon mal gar nicht?
          Zuletzt geändert von paddle; 18.01.2008, 15:41.

          Kommentar


          • #6
            hi peter

            bin noch nicht viel weiter gekommen und wäre um ein bisschen hilfe sehr dankbar...

            lieber gruss,
            pat

            Kommentar

            Lädt...
            X