developers program  

Welcome, Guest Help
Login Login | Register
 

eBay Developer Forums > Deutsches Entwicklerforum
RSS | NNTP Reader | FAQ | Usage Policies | Advanced Search | Print

in current forum  
in all Developer Forums

Replies: 6 - Pages: 1     Last Post: Sep 13, 2008 3:53 PM by: boettchergbr »



Posts: 7
Member Since: 3/30/07



#90001 : XML error on line 1 col 48 byte 50 SYSTEM or PUBLIC, the URI is mi
Posted: Sep 10, 2008 12:56 AM
  Click to reply to this thread Reply

Hallo.

Ich versuche nun schon seit einiger Zeit das sample_GetCategories ans laufen zu bringen. Nachdem ich alle anderen Probleme und Fehler beseitigt habe bleibt mir immer noch die Fehlermeldung "#90001 : XML error on line 1 col 48 byte 50 SYSTEM or PUBLIC, the URI is missing" und ich weiß nicht was ich ändern muss. Ich hab bereits nach dem Fehler gegoogelt aber auch da nix gefunden. Kann mir vielleicht jemand weiterhelfen wo ich ansetzen muss um den Fehler zu finden ?

Gruß
Michael




Posts: 33
Member Since: 9/4/08



Re: #90001 : XML error on line 1 col 48 byte 50 SYSTEM or PUBLIC, the URI is mi
Posted: Sep 10, 2008 1:15 AM
  Click to reply to this thread Reply

Hallo,

also im API - TestTool funktioniert es gut, vielleicht hilft es ja:

<?xml version="1.0" encoding="utf-8"?>
<GetCategoriesRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken>Auth-Token</eBayAuthToken>
</RequesterCredentials>
<DetailLevel>ReturnAll</DetailLevel>
<ErrorLanguage>de_DE</ErrorLanguage>
<Version>579</Version>
<Site>Germany</Site>
</GetCategoriesRequest>

Liefert dann sämtliche Kategorien der deutschen Seite.

Grüße,
Mario




Posts: 7
Member Since: 3/30/07



Re: #90001 : XML error on line 1 col 48 byte 50 SYSTEM or PUBLIC, the URI is mi
Posted: Sep 10, 2008 2:06 AM
  Click to reply to this thread Reply

Hallo.

Danke erstmal für die Antwort, aber leider kann ich damit nicht wirklich was anfangen. Meine Kenntnisse in XML sind momentan leider noch ziemlich mau, weswegen ich das ganze auch mit dem Toolkit für PHP versuche.

Mein PHP-Code sieht so aus:

<?php
require_once 'setincludepath.php';
require_once 'EbatNs/GetCategoriesRequestType.php';
require_once 'EbatNs/EbatNs_Environment.php';

class sample_GetCategories extends EbatNs_Environment
{
public function dispatchCall ($params)
{
$req = new GetCategoriesRequestType();
$req->setCategoryParent($params['CategoryParent']);

$res = $this->proxy->GetCategories($req);
if ($this->testValid($res))
{
$this->dumpObject($res);
return (true);
}
else
{
return (false);
}
}
}

$x = new sample_GetCategories();
$x->dispatchCall
(
array
(
'CategoryParent' => '1'
)
);
?>

Ich habe mal die Bemerkungen rausgenommen um den Code nicht unnötig lang zu posten.

Soweit ich das in der Klasse GetCategoriesRequestType sehe, wird die URN hier fest angegeben:

parent::__construct 'GetCategoriesRequestType', 'urn:ebay:apis:eBLBaseComponents');

und die uri wird hier fest angegeben:

'nsURI' => 'http://www.w3.org/2001/XMLSchema',

Aus dem Fehler lese ich ja das ihm angeblich die URI fehlt, ich weiß aber nicht warum und wie ich diesen Fehler raus bekomme.

Gruß
Michael




Posts: 33
Member Since: 9/4/08



Re: #90001 : XML error on line 1 col 48 byte 50 SYSTEM or PUBLIC, the URI is mi
Posted: Sep 10, 2008 4:59 AM
  Click to reply to this thread Reply

Hallo,

in deiner Anfrage fehlt unter anderem das Einbinden der GetCategoriesResponseType.php fuer die Ausgabe und deine API Daten (AppID, DevID, CertID und AuthToken).

Hier mal ein Beispiel:

<?php

// Unterbindet die Notices
error_reporting(E_ALL ^ E_NOTICE);;

// Includes
require_once 'EbatNs/EbatNs_ServiceProxy.php';
require_once 'EbatNs/GetCategoriesRequestType.php';
require_once 'EbatNs/GetCategoriesResponseType.php';

// API-Daten
$session = new EbatNs_Session('config/ebay.config.php');

$cs = new EbatNs_ServiceProxy($session);

// Request (Kann man bei Bedarf ja noch anpassen ...)
$req = new GetCategoriesRequestType();
$req->CategorySiteID = 77;
$req->LevelLimit = 1;
$req->DetailLevel = 'ReturnAll';

// Response
$res = $cs->GetCategories($req);

print_r($res);

?>

Mit dem TestTool (https://developer.ebay.com/DevZone/build-test/test-tool/) kann das allerdings auch sehr gut testen ohne große XML-Kenntnisse zu haben.

Grüße,
Mario




Posts: 7
Member Since: 3/30/07



Re: #90001 : XML error on line 1 col 48 byte 50 SYSTEM or PUBLIC, the URI is mi
Posted: Sep 10, 2008 7:56 AM
  Click to reply to this thread Reply

Hallo.

Stimmt, die API Daten also die Session hatte ich vergessen. Dachte das Beispiel wäre so komplett lauffähig.

Wenn ich nun dein Beispiel verwende bekomme ich folgenden Fehler: Fatal error: Cannot access protected property GetCategoriesRequestType::$CategorySiteID in /srv/www/vhosts/boettcher-computer.de/httpdocs/admin/test.php on line 18

Wenn ich die Zeilen mit

$req->CategorySiteID = 77;
$req->LevelLimit = 1;
$req->DetailLevel = 'ReturnAll';

weglasse bekomme ich wieder den Fehler wie zuvor, das die URI vermisst wird.

Die SideID wird doch auch schon in der Config-Datei festgelegt oder ?

Ich benutze das Toolkit für PHP5 mit PHP5. Hab früher schonmal unter PHP4 damit probiert und weniger Probleme gehabt.

Gruß
Michael




Posts: 33
Member Since: 9/4/08



Re: #90001 : XML error on line 1 col 48 byte 50 SYSTEM or PUBLIC, the URI is mi
Posted: Sep 11, 2008 2:47 AM
  Click to reply to this thread Reply

Hallo,

das ist richtig, die SiteID steht in der config. Dabei handelt es sich um die SiteID an die der Request gesendet wird. Man könnte in CategorySiteID eine abweichende ID einsetzen.

Die Zeile "$req->CategorySiteID = 77" kannst du weg lassen. Ich habe das Skript nochmal direkt in der Konsole getest und es läuft. Die Fehlermeldung kann ich so nicht deuten, kannst ja nochmal ein bißchen mehr Code posten, vielleicht findet man da ja noch was.

Viele Grüße




Posts: 7
Member Since: 3/30/07



Re: #90001 : XML error on line 1 col 48 byte 50 SYSTEM or PUBLIC, the URI is mi
Posted: Sep 13, 2008 3:53 PM
  Click to reply to this thread Reply

Hallo.

Danke erstmal für die Hilfe. Der Code scheint soweit ok zu sein. Ich hatte die aktuelle EbatNS für PHP5 drauf und hab nun die ältere für PHP4 draufgespielt und es funktioniert.

Gruß
Michael



thread.rss_message