Avatar billede htx98i17 Professor
23. juli 2017 - 14:26 Der er 5 kommentarer og
3 løsninger

SOAP fejlmeddelelse

Jeg kender ikke hvad de forskellige fejlkoder betyder ved brug af SoapClass

Kan nogen fortælle mig hvad følgende fejl betyder?

string(96) "Server was unable to process request. ---> Object reference not set to an instance of an object." string(342) " DK1 " string(441) "soap:ServerServer was unable to process request. ---> Object reference not set to an instance of an object."
Avatar billede arne_v Ekspert
23. juli 2017 - 15:34 #1
Det lyder som om du har en SOAP client (i PHP formoder jeg grundet kategorien) som kalder en SOAP server lavet i .NET (C# eller VB.NET) og den faa en fejl p.g.a. forsoeg paa at bruge en object reference som er null - den mangler et objekt.

Meget svaert at debugge uden mere information fra server side.
Avatar billede htx98i17 Professor
23. juli 2017 - 18:33 #2
Jeg bruger funktionen SearchNearestParcelShops fra
http://www.gls.dk/information/Folder/Webservice_ParcelShop_EN.pdf

ifølge vejledningen skal der 4 værdier til og dem har jeg defineret.

Jeg er først lige begyndt at lære det idag, så det er meget nyt for mig.


<?php
   
    header('Content-Type: text/html; charset=utf-8');
   
    ini_set('soap.wsdl_cache_enabled', '0');
    ini_set('soap.wsdl_cache_ttl', '0');

    $wsdl = 'http://www.gls.dk/webservices_v4/wsShopFinder.asmx?WSDL';
   
    $options = array(
        'uri'=>'http://www.w3.org/2001/XMLSchema',
        'style'=>SOAP_RPC,
        'soap_version'=>SOAP_1_1,
        'cache_wsdl'=>WSDL_CACHE_NONE,
        'connection_timeout'=>15,
        'trace'=>true,
        'encoding'=>'UTF-8',
        'exceptions'=>true,
        'cache_wsdl' => WSDL_CACHE_NONE,
    );
   
    try {
        $soap = new SoapClient($wsdl, $options);
        $data = $soap->SearchNearestParcelShops(array(
            "Street" =>             "Byvej 1",
            "Zip code" =>             "8000",
            "countryIso3166A2" =>     "DK",
            "Amount" =>             "5"
           
        ));
       
    echo "<pre>";
        print_r($data);
    echo "</pre>";
   
    }
   
catch (Exception $e) {
    var_dump($e->getMessage());
    var_dump($soap->__getLastRequest());
    var_dump($soap->__getLastResponse());
}

?>
Avatar billede arne_v Ekspert
24. juli 2017 - 04:30 #3
Proev:

    $data = $soap->SearchNearestParcelShops(array(
            "street" =>            "Byvej 1",
            "zipcode" =>            "8000",
            "countryIso3166A2" =>    "DK",
            "Amount" =>            "5"
         
        ));
Avatar billede htx98i17 Professor
24. juli 2017 - 08:22 #4
Det virker sq!

Hvorfor i al verden skriver de noget forkert i deres vejledning.
Avatar billede arne_v Ekspert
24. juli 2017 - 14:24 #5
Tja - nogen gange kan det vaere svaert at faa dokumentation 100% teknisk korrekt. Specielt hvis man har opdelt arbejdet saa man har IT folk der laver softwaren og ikke-IT folk som laver dokumentationen.

Det er korrekt at tabellen har det forkert. Men kig ned i eksempel XML'en !!!!
Avatar billede arne_v Ekspert
24. juli 2017 - 14:29 #6
Men endnu bedre saa er der automatisk genereret dokumentation og derfor 100% korrekt dokumentation tilgaengelig paa nettet.

Klik paa:

http://www.gls.dk/webservices_v4/wsShopFinder.asmx?WSDL

Klik paa "SearchNearestParcelShops" som foerer dig til:

http://www.gls.dk/webservices_v4/wsShopFinder.asmx?op=SearchNearestParcelShops

Altenativt hvis du er skrap til WSDL kan du klikke paa "Service Description" linket ovenover service linkene og ende paa:

http://www.gls.dk/webservices_v4/wsShopFinder.asmx?WSDL

i raa WSDL mode.
Avatar billede htx98i17 Professor
24. juli 2017 - 14:44 #7
Jeg siger mange tak.
Avatar billede Knud Praktikant
01. august 2018 - 12:23 #8
Hej - fandt denne tråd ang. GLS "SearchNearestParcelShops"

Måske det ikke er den rigtige tråd at spørge - prøver jeg alligevel - hvordan/hvor implementere man GLS SearchNearestParcelShops i wordpress/woocommerce?
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

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