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

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

Сообщение Anonymous »

Я схожу с ума, начиная с веб -сервисов. I am trying to call the following WSDL using PHP and keep getting nowhere:

http://webservices.sabre.com/wsdl/sabre ... ateRQ.wsdl

I found the following piece of code on the net, from someone with similar problems, but I could not Получите его на работу:


$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
Дата: sun, 19 апреля 22:21:34 gm> gm> gm> gm> gm> Close
Server: SWS < /p>

Ответ: < /p>


soap-env: client.invalidebxmlmessageunable, чтобы усвоить интернацию
messagejavax.xml.soap.soapexception: Uniablable Atable Atable Atableazeazeazeazeazeazeazeazeazeazeazeazeazeazeazeazeazeazeaze. com.sun.xml.messaging.saaj.soap.MessageImpl.(MessageImpl.java:135)
at
com.sun.xml.messaging.saaj.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:32)
at
com.sabre.universalservices.gateway.control.SoapProcessor.getRequest(SoapProcessor.java:263)
at
com.sabre.universalservices.gateway.control.WSGateway.handleRequest(WSGateway.java:380)
at
com.sabre.universalservices.gateway.control.wsgateway.dopost (wsgateway.java:306)
at javax.servlet.http.httpservlet.service (httpservlet.java:710) at
javax.servlet.http.httpservlet.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(StandardWrapperValve.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.http11aprprocessor.process (http11aprprocessor.java:852)
at
org.apache.coyote.http11.http11aprprotocol $ http11connectionhandler.process (http11aprprotocol.java:584)
at
org.apache.tomcat.util.net.aprendpoint $ abrend.run (aprendpoint.javaint.javaint.javaint.javaint.javaint.javaint.javaint.javain java.lang.thread.run (thread.java:595), вызванная:
javax.xml.soap.soapexception: Invalid
content-type: приложение /soap+xml at
com.sun.xml.messagegaging.saaj.soap.messagempl.verspl.versple. /> at
com.sun.xml.messaging.saaj.soap.messageimpl. (messageImpl.java:91)
... 19 больше < /p>

soapfault объект (
[Сообщение: Protected] => Невозможно вывести сообщение
[строкат: private] =>>> < /p> protected] =>
[строка: /> < /blockquote>

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

>

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

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

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

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

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

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