免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2407 | 回复: 3
打印 上一主题 下一主题

跪求助:soap访问webservice [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-01-10 15:27 |只看该作者 |倒序浏览
本帖最后由 loveme99 于 2012-01-10 15:31 编辑

一个发短信的webservices 用php的soap 访问,由于不懂用法,求助

服务器端 http://202.96.188.86:8081/sxt_webservice/services/SMSService?wsdl
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://www.muleumo.org" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:ns1="http://message.scape.gsta.com" xmlns:ns3="http://cap.scape.gsta.com" xmlns:ns2="http://sms.cap.scape.gsta.com" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" targetNamespace="http://www.muleumo.org">
  3.     <wsdl:documentation>SMSService</wsdl:documentation>
  4.     <wsdl:types>
  5.         <xsd:schema xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://message.scape.gsta.com">
  6.     <xsd:complexType name="CII">
  7.         <xsd:sequence>
  8.             <xsd:element minOccurs="0" name="account" nillable="true" type="xsd:string"/>
  9.             <xsd:element minOccurs="0" name="extendField" nillable="true" type="xsd:string"/>
  10.             <xsd:element minOccurs="0" name="hashCode" nillable="true" type="xsd:string"/>
  11.             <xsd:element minOccurs="0" name="password" nillable="true" type="xsd:string"/>
  12.             <xsd:element minOccurs="0" name="timestamp" nillable="true" type="xsd:string"/>
  13.         </xsd:sequence>
  14.     </xsd:complexType>
  15.     <xsd:complexType name="BUI">
  16.         <xsd:sequence>
  17.             <xsd:element minOccurs="0" name="account" nillable="true" type="xsd:string"/>
  18.             <xsd:element minOccurs="0" name="id" nillable="true" type="xsd:string"/>
  19.         </xsd:sequence>
  20.     </xsd:complexType>
  21. </xsd:schema>
  22.         <xsd:schema xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://sms.cap.scape.gsta.com">
  23.     <xsd:complexType name="SMSPayload">
  24.         <xsd:sequence>
  25.             <xsd:element minOccurs="0" name="content" nillable="true" type="xsd:string"/>
  26.             <xsd:element minOccurs="0" name="contentFormat" nillable="true" type="xsd:string"/>
  27.             <xsd:element minOccurs="0" name="needFeedback" nillable="true" type="xsd:string"/>
  28.             <xsd:element minOccurs="0" name="password" nillable="true" type="xsd:string"/>
  29.             <xsd:element minOccurs="0" name="receivers" nillable="true" type="tns:ArrayOfString"/>
  30.             <xsd:element minOccurs="0" name="areacode" nillable="true" type="xsd:string"/>
  31.             <xsd:element minOccurs="0" name="sender" nillable="true" type="xsd:string"/>
  32.         </xsd:sequence>
  33.     </xsd:complexType>
  34.     <xsd:complexType name="SMSResult">
  35.         <xsd:sequence>
  36.             <xsd:element minOccurs="0" name="messageCount" nillable="true" type="xsd:int"/>
  37.             <xsd:element minOccurs="0" name="resultCode" nillable="true" type="xsd:string"/>
  38.             <xsd:element minOccurs="0" name="smsMessages" nillable="true" type="ns2:ArrayOfSMSMessage"/>
  39.         </xsd:sequence>
  40.     </xsd:complexType>
  41.     <xsd:complexType name="ArrayOfSMSMessage">
  42.         <xsd:sequence>
  43.             <xsd:element maxOccurs="unbounded" minOccurs="0" name="SMSMessage" nillable="true" type="ns2:SMSMessage"/>
  44.         </xsd:sequence>
  45.     </xsd:complexType>
  46.     <xsd:complexType name="SMSMessage">
  47.         <xsd:sequence>
  48.             <xsd:element minOccurs="0" name="smsid" nillable="true" type="xsd:int"/>
  49.             <xsd:element minOccurs="0" name="content" nillable="true" type="xsd:string"/>
  50.             <xsd:element minOccurs="0" name="contentFormat" nillable="true" type="xsd:string"/>
  51.             <xsd:element minOccurs="0" name="receiveTime" nillable="true" type="xsd:string"/>
  52.             <xsd:element minOccurs="0" name="receiver" nillable="true" type="xsd:string"/>
  53.             <xsd:element minOccurs="0" name="sender" nillable="true" type="xsd:string"/>
  54.             <xsd:element minOccurs="0" name="busId" nillable="true" type="xsd:string"/>
  55.         </xsd:sequence>
  56.     </xsd:complexType>
  57.     <xsd:complexType name="SMSReturnResult">
  58.         <xsd:sequence>
  59.             <xsd:element minOccurs="0" name="desc" nillable="true" type="xsd:string"/>
  60.             <xsd:element minOccurs="0" name="resultCode" nillable="true" type="xsd:string"/>
  61.         </xsd:sequence>
  62.     </xsd:complexType>
  63.     <xsd:complexType name="SMSResultAggre">
  64.         <xsd:sequence>
  65.             <xsd:element minOccurs="0" name="messageCount" nillable="true" type="xsd:int"/>
  66.             <xsd:element minOccurs="0" name="resultCode" nillable="true" type="xsd:string"/>
  67.             <xsd:element minOccurs="0" name="smsReceipts" nillable="true" type="ns2:ArrayOfSMSReceipt"/>
  68.         </xsd:sequence>
  69.     </xsd:complexType>
  70.     <xsd:complexType name="ArrayOfSMSReceipt">
  71.         <xsd:sequence>
  72.             <xsd:element maxOccurs="unbounded" minOccurs="0" name="SMSReceipt" nillable="true" type="ns2:SMSReceipt"/>
  73.         </xsd:sequence>
  74.     </xsd:complexType>
  75.     <xsd:complexType name="SMSReceipt">
  76.         <xsd:sequence>
  77.             <xsd:element minOccurs="0" name="smsid" nillable="true" type="xsd:int"/>
  78.             <xsd:element minOccurs="0" name="receiver" nillable="true" type="xsd:string"/>
  79.             <xsd:element minOccurs="0" name="sessionId" nillable="true" type="xsd:string"/>
  80.             <xsd:element minOccurs="0" name="receiveTime" nillable="true" type="xsd:string"/>
  81.             <xsd:element minOccurs="0" name="smsState" nillable="true" type="xsd:string"/>
  82.         </xsd:sequence>
  83.     </xsd:complexType>
  84. </xsd:schema>
  85.         <xsd:schema xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://www.muleumo.org">
  86.     <xsd:complexType name="ArrayOfString">
  87.         <xsd:sequence>
  88.             <xsd:element maxOccurs="unbounded" minOccurs="0" name="string" nillable="true" type="xsd:string"/>
  89.         </xsd:sequence>
  90.     </xsd:complexType>
  91.     <xsd:element name="sendSMS">
  92.         <xsd:complexType>
  93.             <xsd:sequence>
  94.                 <xsd:element name="in0" nillable="true" type="ns1:CII"/>
  95.                 <xsd:element name="in1" nillable="true" type="ns1:BUI"/>
  96.                 <xsd:element name="in2" nillable="true" type="ns2:SMSPayload"/>
  97.             </xsd:sequence>
  98.         </xsd:complexType>
  99.     </xsd:element>
  100.     <xsd:element name="sendSMSResponse">
  101.         <xsd:complexType>
  102.             <xsd:sequence>
  103.                 <xsd:element name="out" nillable="true" type="ns3:CTCapResult"/>
  104.             </xsd:sequence>
  105.         </xsd:complexType>
  106.     </xsd:element>
  107.     <xsd:element name="checkReceivedSMS">
  108.         <xsd:complexType>
  109.             <xsd:sequence>
  110.                 <xsd:element name="in0" nillable="true" type="ns1:CII"/>
  111.                 <xsd:element name="in1" nillable="true" type="xsd:string"/>
  112.             </xsd:sequence>
  113.         </xsd:complexType>
  114.     </xsd:element>
  115.     <xsd:element name="checkReceivedSMSResponse">
  116.         <xsd:complexType>
  117.             <xsd:sequence>
  118.                 <xsd:element name="out" nillable="true" type="ns2:SMSResult"/>
  119.             </xsd:sequence>
  120.         </xsd:complexType>
  121.     </xsd:element>
  122.     <xsd:element name="queryReturnReceipt">
  123.         <xsd:complexType>
  124.             <xsd:sequence>
  125.                 <xsd:element name="in0" nillable="true" type="ns1:CII"/>
  126.                 <xsd:element name="in1" nillable="true" type="xsd:string"/>
  127.                 <xsd:element name="in2" nillable="true" type="xsd:string"/>
  128.             </xsd:sequence>
  129.         </xsd:complexType>
  130.     </xsd:element>
  131.     <xsd:element name="queryReturnReceiptResponse">
  132.         <xsd:complexType>
  133.             <xsd:sequence>
  134.                 <xsd:element name="out" nillable="true" type="ns2:SMSReturnResult"/>
  135.             </xsd:sequence>
  136.         </xsd:complexType>
  137.     </xsd:element>
  138.     <xsd:element name="queryReturnReceiptAggre">
  139.         <xsd:complexType>
  140.             <xsd:sequence>
  141.                 <xsd:element name="in0" nillable="true" type="ns1:CII"/>
  142.                 <xsd:element name="in1" nillable="true" type="xsd:string"/>
  143.             </xsd:sequence>
  144.         </xsd:complexType>
  145.     </xsd:element>
  146.     <xsd:element name="queryReturnReceiptAggreResponse">
  147.         <xsd:complexType>
  148.             <xsd:sequence>
  149.                 <xsd:element name="out" nillable="true" type="ns2:SMSResultAggre"/>
  150.             </xsd:sequence>
  151.         </xsd:complexType>
  152.     </xsd:element>
  153. </xsd:schema>
  154.         <xsd:schema xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://cap.scape.gsta.com">
  155.     <xsd:complexType name="CTCapResult">
  156.         <xsd:sequence>
  157.             <xsd:element minOccurs="0" name="desc" nillable="true" type="xsd:string"/>
  158.             <xsd:element minOccurs="0" name="resultCode" nillable="true" type="xsd:string"/>
  159.             <xsd:element minOccurs="0" name="sessionId" nillable="true" type="xsd:string"/>
  160.         </xsd:sequence>
  161.     </xsd:complexType>
  162. </xsd:schema>
  163.     </wsdl:types>
  164.     <wsdl:message name="queryReturnReceiptRequest">
  165.         <wsdl:part name="parameters" element="tns:queryReturnReceipt"/>
  166.     </wsdl:message>
  167.     <wsdl:message name="queryReturnReceiptResponse">
  168.         <wsdl:part name="parameters" element="tns:queryReturnReceiptResponse"/>
  169.     </wsdl:message>
  170.     <wsdl:message name="queryReturnReceiptAggreRequest">
  171.         <wsdl:part name="parameters" element="tns:queryReturnReceiptAggre"/>
  172.     </wsdl:message>
  173.     <wsdl:message name="queryReturnReceiptAggreResponse">
  174.         <wsdl:part name="parameters" element="tns:queryReturnReceiptAggreResponse"/>
  175.     </wsdl:message>
  176.     <wsdl:message name="sendSMSRequest">
  177.         <wsdl:part name="parameters" element="tns:sendSMS"/>
  178.     </wsdl:message>
  179.     <wsdl:message name="sendSMSResponse">
  180.         <wsdl:part name="parameters" element="tns:sendSMSResponse"/>
  181.     </wsdl:message>
  182.     <wsdl:message name="checkReceivedSMSRequest">
  183.         <wsdl:part name="parameters" element="tns:checkReceivedSMS"/>
  184.     </wsdl:message>
  185.     <wsdl:message name="checkReceivedSMSResponse">
  186.         <wsdl:part name="parameters" element="tns:checkReceivedSMSResponse"/>
  187.     </wsdl:message>
  188.     <wsdl:portType name="SMSServicePortType">
  189.         <wsdl:operation name="queryReturnReceipt">
  190.             <wsdl:input message="tns:queryReturnReceiptRequest" wsaw:Action="http://www.muleumo.org/SMSServicePortType/queryReturnReceiptRequest"/>
  191.             <wsdl:output message="tns:queryReturnReceiptResponse" wsaw:Action="http://www.muleumo.org/SMSServicePortType/queryReturnReceiptResponse"/>
  192.         </wsdl:operation>
  193.         <wsdl:operation name="queryReturnReceiptAggre">
  194.             <wsdl:input message="tns:queryReturnReceiptAggreRequest" wsaw:Action="http://www.muleumo.org/SMSServicePortType/queryReturnReceiptAggreRequest"/>
  195.             <wsdl:output message="tns:queryReturnReceiptAggreResponse" wsaw:Action="http://www.muleumo.org/SMSServicePortType/queryReturnReceiptAggreResponse"/>
  196.         </wsdl:operation>
  197.         <wsdl:operation name="sendSMS">
  198.             <wsdl:input message="tns:sendSMSRequest" wsaw:Action="http://www.muleumo.org/SMSServicePortType/sendSMSRequest"/>
  199.             <wsdl:output message="tns:sendSMSResponse" wsaw:Action="http://www.muleumo.org/SMSServicePortType/sendSMSResponse"/>
  200.         </wsdl:operation>
  201.         <wsdl:operation name="checkReceivedSMS">
  202.             <wsdl:input message="tns:checkReceivedSMSRequest" wsaw:Action="http://www.muleumo.org/SMSServicePortType/checkReceivedSMSRequest"/>
  203.             <wsdl:output message="tns:checkReceivedSMSResponse" wsaw:Action="http://www.muleumo.org/SMSServicePortType/checkReceivedSMSResponse"/>
  204.         </wsdl:operation>
  205.     </wsdl:portType>
  206.     <wsdl:binding name="SMSServiceHttpBinding" type="tns:SMSServicePortType">
  207.         <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
  208.         <wsdl:operation name="queryReturnReceipt">
  209.             <soap:operation soapAction="" style="document"/>
  210.             <wsdl:input>
  211.                 <soap:body use="literal"/>
  212.             </wsdl:input>
  213.             <wsdl:output>
  214.                 <soap:body use="literal"/>
  215.             </wsdl:output>
  216.         </wsdl:operation>
  217.         <wsdl:operation name="queryReturnReceiptAggre">
  218.             <soap:operation soapAction="" style="document"/>
  219.             <wsdl:input>
  220.                 <soap:body use="literal"/>
  221.             </wsdl:input>
  222.             <wsdl:output>
  223.                 <soap:body use="literal"/>
  224.             </wsdl:output>
  225.         </wsdl:operation>
  226.         <wsdl:operation name="sendSMS">
  227.             <soap:operation soapAction="" style="document"/>
  228.             <wsdl:input>
  229.                 <soap:body use="literal"/>
  230.             </wsdl:input>
  231.             <wsdl:output>
  232.                 <soap:body use="literal"/>
  233.             </wsdl:output>
  234.         </wsdl:operation>
  235.         <wsdl:operation name="checkReceivedSMS">
  236.             <soap:operation soapAction="" style="document"/>
  237.             <wsdl:input>
  238.                 <soap:body use="literal"/>
  239.             </wsdl:input>
  240.             <wsdl:output>
  241.                 <soap:body use="literal"/>
  242.             </wsdl:output>
  243.         </wsdl:operation>
  244.     </wsdl:binding>
  245.     <wsdl:service name="SMSService">
  246.         <wsdl:port name="SMSServiceMulePort" binding="tns:SMSServiceHttpBinding">
  247.             <soap:address location="http://202.96.188.86:8081/sxt_webservice/services/SMSService.SMSServiceMulePort/"/>
  248.         </wsdl:port>
  249.     </wsdl:service>
  250. </wsdl:definitions>
复制代码
程序应该怎么写,我写的这样的
  1. <?php
  2. header("content-type:text/html; charset=utf-8");
  3. $client = new SoapClient ( 'http://202.96.188.86:8081/sxt_webservice/services/SMSService?wsdl', array('trace' => 1,'encoding'=>'utf-8'));

  4. $headers[] = new SoapHeader('http://soapinterop.org/echoheader/', 'soapenv');
  5. $headers[] = new SoapHeader('http://www.w3.org/2001/XMLSchema', 'xsd');
  6. $headers[] = new SoapHeader('http://www.w3.org/2001/XMLSchema-instance', 'xsi');
  7. $headers[] = new SoapHeader('http://www.muleumo.org', 'mul');
  8. $headers[] = new SoapHeader('http://message.scape.gsta.com', 'mes');
  9. $headers[] = new SoapHeader('http://sms.cap.scape.gsta.com', 'sms');

  10. $client->__setSoapHeaders($headers);

  11. //$CII[] = new SoapParam("account", 'account');
  12. //$CII[] = new SoapParam('','$extendField');
  13. //$CII[] = new SoapParam('','$hashCode');
  14. //$CII[] = new SoapParam( "111111",'password');
  15. //$CII[] = new SoapParam('','$timestamp');

  16. //$str = $client -> sendSMS($CII,$BUI,$SMSPayload);
  17. //$t = $client
  18. class CII{
  19.        public $account = '0760tljtyp';
  20.        public $extendField = '';
  21.        public $hashCode = '';
  22.        public $password = '11111';
  23.        public $timestamp = '';
  24. }

  25. class BUI{
  26.        public $account = '';
  27.        public $id = '';
  28. }

  29. class SMSPayload{
  30.        public $content = 'test';
  31.        public $contentFormat = '1';
  32.        public $needFeedback = '1';
  33.        public $password = '';
  34.        public $receivers = array('13545685468');
  35.        public $areacode = '';
  36.        public $sender = '';
  37. }

  38. $CII = new CII();
  39. $in0_0 = new SoapVar($CII, SOAP_ENC_OBJECT,'mul');
  40. $in0 = new SoapParam($in0_0, 'in0');
  41. print_r($in0);

  42. $BUI = new BUI();
  43. $in1_0 = new SoapVar($CII, SOAP_ENC_OBJECT,'sendSMS');
  44. $in1 = new SoapParam($in1_0, 'in1');

  45. $SMSPayload = new SMSPayload();
  46. $in2_0 = new SoapVar($SMSPayload, SOAP_ENC_OBJECT,'sendSMS');
  47. $in2 = new SoapParam($in2_0, 'in2');

  48. $param = array(
  49.         'in0' => $in0,
  50.         'in1' => $in1,
  51.         'in2' => $in2,
  52. );
  53. $str = $client -> sendSMS(array('parameters' => $params));
  54. //array('parameters' => $params)

  55. //echo $client-> sendSMSResult;
  56. echo '<pre>';
  57. print_r( $str );
  58. echo '</pre>';
  59. echo '<pre>';
  60. var_dump ($client->__getLastRequest());
  61. echo '</pre>';
  62. die();
复制代码
结果总是出错,求助懂的大侠,该如何写呢?最主要是参数怎么样传递,命名空间又怎么样定义,真的头痛

论坛徽章:
0
2 [报告]
发表于 2012-01-12 14:45 |只看该作者
看来真没人懂啊

论坛徽章:
0
3 [报告]
发表于 2012-01-15 13:30 |只看该作者
呵呵,太长,

找对方要php调用的例子,最快解决。

论坛徽章:
0
4 [报告]
发表于 2012-01-23 23:05 |只看该作者
还没有用过php做webservice
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP