Вызов веб -сервисов с PHP SoapClient - Как сделать?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Вызов веб -сервисов с PHP SoapClient - Как сделать?

Сообщение Anonymous »

Я схожу с ума, начиная с веб -сервисов. Я пытаюсь позвонить в следующий WSDL, используя PHP и продолжать нигде:

http://webservices.sabre.com/wsdl/sabre ... oncreaterq. wsdl < /p>

Я нашел следующий кусок кода в сети, от кого -то с подобными проблемами, но я не мог заставить его работать:


$soap = new SoapClient('http://webservices.sabre.com/wsdl/sabre ... ateRQ.wsdl',
array(
'trace' => true,
'soap_version' => SOAP_1_2,
"exceptions" => 0));

$eb = new EbXmlMessage();

$sec = new Security();

$scrq = new SessionCreateRQ();

try {

$omg = $soap->SessionCreateRQ($scrq, $sec,$eb);

}

catch (Exception $e)

{

print_r($e);

}

//debug

print "Request: \n".

htmlspecialchars($soap->__getLastRequestHeaders()) ."\n";

print "Request: \n".

htmlspecialchars($soap->__getLastRequest()) ."\n";

print "Response: \n".

$soap->__getLastResponseHeaders()."\n";

print "Response: \n".

$soap->__getLastResponse()."\n";

print_r($omg);

//the first envelope headers

class EbXmlMessage

{

public $From = array('PartyId' => 'mysite.com');

public $To = array('PartyId' => 'myprovider.com');

public $CPAId = 'ZZZZ';

public $ConversationId = 'myconv@id.com';

public $Service = 'Session';// or SessionCreate?

public $Action = 'SessionCreateRQ';

public $MessageData = array(
'MessageId' => 'messageid',
'Timestamp' => '2009-04-18T15:15:00Z');

}

//the security token

class Security {

public $Username = "xxxxx";

public $Password = "yyyyy";

public $Organization = "ZZZZ";

public $Domain = "DEFAULT";

}

//this is suppoused to be the payload, or the xml i need to send at the end

class SessionCreateRQ

{

public $POS = array(

'Source' => array(

'_'=>"",

'PseudoCityCode'=>'ZZZZ'

));

}

< /code>

i продолжаю получать следующую ошибку: < /p>

Ответ:
http/1.1 500 Внутренний сервер Ошибка
soapcation: ""
content-type: text /xml; charset = utf-8
Дата: Солнце, 19 апреля 2009 г. 22:21:34 Gmt
Соединение: Закрыть
server: sws < /p>

Ответ: < /p>


soap-env: Client.invalidebxmlmessageunable для усвоения
messagejavax.xml.soap.soapexception: невозможно усвоить сообщение по адресу
com.sun.xml.messaging.saaj.soap.messageimpl. > at
com.sun.xml.messaging.saaj.soap.messagefactoryimpl.createmessage (messageFactoryImpl.java:32)
at
com.sabre.universalservices.gateway.control.sopprocessor.getRequest. (SOAPPOCORSESSOR.Java:263)
at
com.sabre.universalservices.gateway.control.wsgateway.handlerequest (wsgateway.java:380)
at
com.sabre.universerservices .gateway.control.wsgateway.dopost (wsgateway.java:306)
at javax.servlet.http.httpservlet.service (httpservlet.java:710) at
javax.servlet.http.httpservlet.service.service.service.service.service.service.service.service.service.service.service.service.service.service.service.service. (Httpservlet.java:803) at
org.apache.catalina.core.applicationfilterchain.internaldofilter (applicationfilterchain.java:290)
at
org.apache.catalina.core.applicationfilterchain.dofilter (ApplicationFilterChain.java:206)
at
org.apache.catalina.core.standardwrappervalve.invoke (standarwrappervalve.java:233)
at
org.apache.catalina.core .StandardContextValve.invoke (standardContextValve.java:175)
at
org.apache.catalina.core.standardhostvalve.invoke (standardhostvalve.java:128)
at
org.apache .catalina.valves.errorReportValve.invoke (errorReportValve.java:102)
at
org.apache.catalina.valves.accesslogvalve.invoke (accesslogvalve.java:563)
at
org.apache.catalina.core.standardenginevalve.invoke (standarenginevalve.java:109)
at
org.apache.catalina.connector.coyoteadapter.service (coyoteadapter.java:263)
at
org.apache.coyote.http11.http11aprpocessor.process (http11aprprocessor.java:852)
at
org.apache.coyote.http11.http11prprotocol $ http11concercess. 584)
at
org.apache.tomcat.util.net.AprendPoint $ afferer.run (aprendpoint.java:1508)
at java.lang.thread.run (thread.java: 595) вызвано:
javax.xml.soap.soapexception: Invalid
content-type: Application /Soap+Xml At
com.sun.xml.messaging.saaj.soap.messageimpl. проверьте (messageImpl.java:159)
at
com.sun.xml.messaging.saaj.soap.messageimpl. (messageImpl.java:91)
... 19 еще < /p >

soapfault object (
[Сообщение: защищено] => Невозможно усвоить сообщение
[String: private] => ..... < /p>
< /blockquote>

Эта служба должна проверить меня в системе и возвращать объект безопасности, который будет использоваться при последующих вызовах - строка (?), Которая я могу хранить В переменной сеанса для следующих вызовов. < /p>

Любая помощь очень ценится !!!>

Подробнее здесь: https://stackoverflow.com/questions/766 ... ent-how-to
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»