Soap request

Nest

Новичок
Soap request

Работаю я c nusoap, тут возникла потребность в работе с сервисом которые используют Apach soap, отправлю им запрос:

PHP:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
     xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
     xmlns:si="http://soapinterop.org/xsd">
   <SOAP-ENV:Body><ns2023:sendSMSMessage xmlns:ns2023="urn:SOAPSend">
   <user xsi:type="xsd:string">1</user>
   <pass xsi:type="xsd:string">1</pass>
   <to xsi:type="xsd:string">441234567891</to>
   <from xsi:type="xsd:string">441234567891</from>
   <subaccount xsi:type="xsd:string"></subaccount>
   <text xsi:type="xsd:string">Test message</text>
   <flash xsi:type="xsd:boolean">1</flash>
   <note xsi:type="xsd:string">testing</note>
   <report xsi:type="xsd:int">1</report>
   <split xsi:type="xsd:int">0</split>
 </ns2023:sendSMSMessage>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Но получаю от них следующую ошибку(розгребают они это все java):

SOAP-ENV:Server: Exception while handling service request: com.wapmx.smsgw.servlets.SOAPSend.sendSMSMessage(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,java.lang.String,int,int) -- no signature match

Как у них на сайте написанно, запрос должен быть вида
PHP:
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <SOAP-ENV:Body>
      <ns1:method-name xmlns:ns1="urn:SOAPSend"
           SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <user xsi:type="xsd:string">test</user>
         <pass xsi:type="xsd:string">test</pass>
         <to xsi:type="xsd:string">447968123456</to>
         <from xsi:type="xsd:string">SOAPSend</from>
         <note xsi:type="xsd:string">note</note>
         <subaccount xsi:type="xsd:string">subaccount</subaccount>
         <report xsi:type="xsd:int">0</report>
         ... other parameters ...
      </ns1:method-name>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
подскажите пожалуйста, что не так? может какие-то параметры доп
 

Alexandre

PHPПенсионер
ищи правильное описание сервиса или почему
как мне кажется - сообщение без подписи, должен быть заголовок SOAP-HEADER.

-~{}~ 31.10.06 17:58:

кстати - многие клиенты SOAP несовместимы,
уточни версии протокола SOAP
 

Nest

Новичок
Alexandre хм, а как они тогда сервис предоставляют?! Да интересно, хорошо большое спасибо, я им письмо в сапорт написал.
 

Nest

Новичок
Alexandre уже ответили, оказалось все очень просто их функция на той стороне на java ждет четкие параметры, типа string, int, string и если их задать в не том порядке (string,string,int) выдается ошибка, так что сдесь Soap вообще ни причем, эт ошибка которую возвращает их код написанный на Java.

Спасибо большое, что помог разобратся.
 
Сверху