xml структуру wsdl сервису

Максимка

Новичок
Доброго веремени суток гуру, у меня вопрос чисто теоретический, буду благодарен за любую помощь, вообщем есть xml структура, надо к wsdl сервису отсылать этот xml а затем принимать его ответ, подскажите как правильно построить работу? где почитать посмотреть касательно моего вопроса

Спасибо
 

Максимка

Новичок
Спасибо, вот что получается:

PHP:
<?php
$xmlDocument = '<SOAP-ENV:Body>
		<mns1:doLogin xmlns:mns1="http://sphinx.dat.de/services/Authentication">
			<request>
				<customerLogin>francy</customerLogin>
				<customerNumber>1323863</customerNumber>
			</request>
		</mns1:doLogin>
	</SOAP-ENV:Body>';

ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient(
            "http://www.dat.com:80/DATECodeSelection/services/Authentication?wsdl",
            array(
                'trace' => 1,
                'exceptions' => 1,
                'soap_version' => SOAP_1_1,
                'encoding' => 'ISO-8859-1',
                'features' => SOAP_SINGLE_ELEMENT_ARRAYS
            )
);

$xmlvar = new SoapVar(
            '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://sphinx.dat.de/services/Authentication" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >'.$xmlDocument.'</SOAP-ENV:Envelope>',
            XSD_ANYXML
);

try {
    $params->xmlDocument = (object)$xmlvar;
    $save_result = $client->mns1($params);
    echo "<pre>\n\n";
    echo "Result :\n";
    var_dump($save_result);
    echo "</pre>";
} catch (SoapFault $e) {
    echo "SOAP Fault: ".$e->getMessage()."<br />\n";
}

?>
по хорошему ответ должен приходить или authorizationFailed или SessionID, но не получается, выдает ошибку: SOAP Fault: Function ("mns1") is not a valid method for this service, я с wsdl только начал работу, поэтому прошу не пинать, а указать на мои ошибки, очень хочеться Ваших подсказок и корректировок, так как хочу разобраться, но без вашей помощи сложно
 

Максимка

Новичок
что значит прочесть? какой порядок действий? что мне надо добавить? Ребят выручайте
 
Последнее редактирование:

WMix

герр M:)ller
Партнер клуба
wsdl которым пользуешься, то что в
PHP:
new SoapClient(
            "http://www.dat.com:80/DATECodeSelection/services/Authentication?wsdl",
указал. открываешь в браузере и читаешь
 

WMix

герр M:)ller
Партнер клуба
какой тот же? у меня
Page Not Found

Page Not Found: "/datecodeselection/services.aspx"
 
Последнее редактирование:

WMix

герр M:)ller
Партнер клуба
вижу следующее
PHP:
// http://www.dat.de/DATECodeSelection/services/Authentication?xsd=1
class doLoginRequest{
    public $customerLogin;
    public $customerNumber;
    public $customerSignature;
    public $interfacePartnerNumber;
    public $interfacePartnerSignature;
}

class doLogin{
    /* array<doLoginRequest> */
    public $request;
}
пользуемся
PHP:
// http://www.dat.de:80/DATECodeSelection/services/Authentication?wsdl
$client = new SoapClient( ... );

// у клиента имеется 2 метода, первый создается приблизительно так.
$doLogin = new doLogin();

// в этом месте возможно не масив
$doLogin->request[0] = new doLoginRequest();
$doLogin->request[0]->customerLogin = "bla bla bla";
// ... остальные проперти

$client->doLogin( $doLogin );

// дальше сам
//$client->doLogout();
важно понять, что XML тебе писать не надо!

подумалось нихренашь се DAT-Group себе программистов нанимает
 
Последнее редактирование:

Максимка

Новичок
подумалось нихренашь се DAT-Group себе программистов нанимает
в том то и дело что нанимает, уже не первый год, а потом сама незнает куда и как дальше

герр Мюллер у меня к Вам вопрос: // ... остальные проперти - что имелось ввиду
 
Последнее редактирование:

WMix

герр M:)ller
Партнер клуба
тут 2 проблемы, одна это действительно нужно почитать про wsdl и web-services
так как хочу разобраться
вторая это понимание php.

в том то и дело что нанимает, уже не первый год, а потом сама незнает куда и как дальше
там слово программист написано типа в кавычках
 
Последнее редактирование:

Максимка

Новичок
ну да, с пониманием проблем нет, с первым и вторым действительно надо углубится и понять суть, спасибо
 

Максимка

Новичок
все мы делаем ошибки на которых учимся и иногда копи/паст не так уж и плох если ты пытаешься вникнуть в суть, вот у меня кроме как на форуме спросить не у кого, поэтому больше времени уходит на самостоятельные изучения, поэтому не судите строго

SOAP Fault: SOAP-ERROR: Encoding: object has no 'request' property - получаю ошибку, но вот этот самый request - не пойму что с ним не так?

PHP:
class doLogin{
      public $request;
}
- тут вроде все в порядке
 
Сверху