Consuming Web Service (Soap) mit PHP-Client

Ich versuche einen Client dafür zu schreibenInternetservic

It verwendet eine zweischichtige Authentifizierung (eine im Anforderungsheader und eine für den Datenzugriff auf dem Server), was bedeutet, dass ich sie im Header übergeben muss. Das habe ich versucht:

class ChannelAdvisorAuth 
{ 
    public $DeveloperKey; 
    public $Password; 

    public function __construct($key, $pass) 
    { 
        $this->DeveloperKey = $key; 
        $this->Password = $pass; 
    } 
} 

$devKey      = "user"; 
$password    = "pass"; 

$soapArr = array(
    "trace"=>true,
    "exceptions"=>true,
);

$url         = "http://soalive.grimaldiwebservices.it/framework/JourneyManager?wsdl"; 
$client     = new SoapClient($url, $soapArr); 
echo "client created!"; 
print_r($client -> __getFunctions());
$auth         = new ChannelAdvisorAuth($devKey, $password); 
$header     = new SoapHeader($url, "APICredentials", $auth, false); 

$in0 = array( 
    "in0" => array( 
        "user"        => "user", 
        "password"    => "pass",
        "message-id"  => "",
        "status"   => array("error-code" => "", "error-desc" => ""),
        "shiplist"   => array("code-ship" => "", "desc-ship" => "")
    ));


echo "athenticated"; 

$result = $client->__soapCall("getShips", $in0); //line 41

Ich habe diesen Fehler erhalten:

    Fatal error: Uncaught SoapFault exception: [env:Server] XPath expression 
failed to execute. An error occurs while processing the XPath expression; the 
expression is 
ora:parseEscapedXML(bpws:getVariableData('OnMessage_getShips_InputVariable','par
ameters','/ns1:getShips/ns1:in0')). The XPath expression failed to execute; the
 reason was: Start of root element expected.. Check the detailed root cause 
described in the exception message text and verify that the XPath query is 
correct. in C:\Program Files (x86)\xampp\htdocs\Test\index.php:41 Stack trace: 
#0 C:\Program Files (x86)\xampp\htdocs\Test\index.php(41): SoapClient-
>__soapCall('getShips', Array) #1 {main} thrown in C:\Program Files 
(x86)\xampp\htdocs\Test\index.php on line 41

Ich gebe zu, das ist nicht wirklich meine Tasse Tee, kann jemand erklären, was los ist?

Kann ich diesen Webdienst manuell aufrufen? mit Seife UI vielleicht?

Dies ist der Client, der in soapUI generiert wurde, derselbe Fehler beim Ausführen von:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:gfw="http://gfw.services.grimaldilines.com">
   <soapenv:Header>
   <soapenv:Body>
      <gfw:getShips>
         <gfw:in0>?</gfw:in0>
      </gfw:getShips>
   </soapenv:Body>
</soapenv:Envelope>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage