现在要做一个保险公司对接程序,保险公司给的是一个Web services我对这个不懂,是不是就是PHP向他们发送一个get请求,然后返回一个xml,我重xml里抓取我需要的数据。请高手帮个忙啊,谢谢!!!!

解决方案 »

  1.   

    是soap么?  用内置soap函数轻松搞定
      

  2.   

    http://docs.php.net/manual/zh/class.soapclient.php
    翻翻手册 照着例子依葫芦画瓢 相信你能弄出来的
    实在不行把接口地址给出来~
      

  3.   


    还是一头雾水啊,不知道如何用,刚把soap拓展开启
    接口地址是:http://116.228.131.196/lywx/services/SoapApplyBusiness?wsdl
      

  4.   


    那我如何向这个XML发送请求呢?
      

  5.   

    你那个 services 需要用户名和口令,无法写出有效的代码提供的方法
    Array
    (
        [0] => StandardApprovalResponse standardApproval(StandardApprovalRequest $in0)
        [1] => StandardApprovalResponse underwrite(StandardApprovalRequest $in0)
        [2] => SoapBatchPolicyApplyResponse batchApply(SoapBatchPolicyApplyRequest $in0)
        [3] => SoapBatchPolicyApplyResponse batchAllSuccessApply(SoapBatchPolicyApplyRequest $in0)
        [4] => PolicyQueryResponse policyQuery(PolicyQueryRequest $in0)
        [5] => PolicyQueryResponse20002 policyQuery20002(PolicyQueryRequest20002 $in0)
        [6] => CheckingDetailResponse20011 checkingDetail20011(CheckingDetailRequest20011 $in0)
        [7] => FinancialSummaryResponse20010 financialSummary20010(FinancialSummaryRequest20010 $in0)
        [8] => FinancialSummaryResponse20020 financialSummary20020(FinancialSummaryRequest20020 $in0)
        [9] => PolicyCancelResponse policyCancel(PolicyCancelRequest $in0)
        [10] => PolicyBatchCancelResponse policyBatchCancel(PolicyBatchCancelRequest $in0)
        [11] => SoapPolicyPremiumResponse policyPremium(SoapPolicyPremiumRequest $in0)
        [12] => SoapAlterableApprovalResponse alterableApproval(SoapAlterableApprovalRequest $in0)
        [13] => SoapTeamPolicyApplyResponse teamPolicyApply(SoapTeamPolicyApplyRequest $in0)
        [14] => EPolicyDownloadResponse20012 epolicyDownload20012(EPolicyDownloadRequest20012 $in0)
        [15] => SettleResponse30010 settle(SettleRequest30010 $in0)
        [16] => SettleResultResponse30011 settleResult(SettleResultRequest30011 $in0)
        [17] => ReapprovalResponse30012 reapproval(ReapprovalRequest30012 $in0)
        [18] => PolicyCancelResponse30013 policyCancel30013(PolicyCancelRequest30013 $in0)
        [19] => string standardApproval20003(string $in0)
    )数据结构
    Array
    (
        [0] => struct WssUserInfo {
     string loginName;
     string password;
     int orgId;
    }
        [1] => struct Insurance {
     dateTime policyEndDate;
     string applicantName;
     string by4;
     string by3;
     string by2;
     string by1;
     string insurantNexus;
     dateTime applicantBirth;
     string insuredCercCode;
     double policyPremium;
     string productCode;
     dateTime policyBeginDate;
     string applicantCertType;
     string phoneNumber;
     string flightNo;
     string claimantCercCode;
     string applicantCercCode;
     string claimantName;
     dateTime insuredBirth;
     string insuredSex;
     string insuredName;
     string applicantSex;
     string claimantCertType;
     string insuredCertType;
    }
        [2] => struct StandardApprovalRequest {
     string outerOrderID;
     WssUserInfo userInfo;
     Insurance insuranceDetail;
    }
        [3] => struct SysMessage {
     string errorMsg;
     string returnNumber;
     string noteMsg;
    }
        [4] => struct StandardApprovalResponse {
     SysMessage sysMessage;
     string outerOrderID;
     string by2;
     string by1;
     string policyNo;
    }
        [5] => struct SoapBatchPolicyApplyRequest {
     string by5;
     string by4;
     WssUserInfo userInfo;
     string by3;
     string by2;
     string by1;
     string outerOrderID;
     string transID;
     ArrayOf_tns2_Insurance insurances;
    }
        [6] => struct SoapBatchPolicyApplyResponse {
     ArrayOf_tns2_StandardApprovalResponse insuranceResults;
     string by5;
     string by4;
     string by3;
     string by2;
     string by1;
     SysMessage sysMessage;
     string outerOrderID;
     string transID;
    }
        [7] => struct PolicyQueryRequest {
     WssUserInfo userInfo;
     string insuredCercCode;
     string policyNo;
     string insuredCertType;
    }
        [8] => struct SoapQueryPolicy {
     dateTime policyEndDate;
     string applicantName;
     string by4;
     string by3;
     string by2;
     string by1;
     string insurantNexus;
     dateTime applicantBirth;
     string insuredCercCode;
     string applyNo;
     double policyPremium;
     string status;
     string productCode;
     string policyNo;
     dateTime policyBeginDate;
     string applicantCertType;
     string billNo;
     string phoneNumber;
     string flightNo;
     string claimantCercCode;
     string applicantCercCode;
     dateTime insuredBirth;
     string claimantName;
     string insuredSex;
     string insuredName;
     string applicantSex;
     string claimantCertType;
     string insuredCertType;
    }
        [9] => struct PolicyQueryResponse {
     SysMessage sysMessage;
     SoapQueryPolicy insuranceDetail;
    }
        [10] => struct PolicyQueryRequest20002 {
     WssUserInfo userInfo;
     string insuredCercCode;
     string policyNo;
     string outerOrderId;
     string transID;
     string insuredCertType;
    }
        [11] => struct PolicyQueryResponse20002 {
     string outerOrderId;
     SysMessage sysMessage;
     string transID;
     ArrayOf_tns1_SoapQueryPolicy insuranceDetail;
    }
        [12] => struct CheckingDetailRequest20011 {
     string outerOrderId;
     dateTime applyDateEnd;
     string transID;
     WssUserInfo userInfo;
     dateTime applyDateBegin;
    }
        [13] => struct CheckingDetailResponse20011 {
     string outerOrderId;
     SysMessage sysMessage;
     base64Binary insuranceDetailZip;
     string transID;
    }
        [14] => struct FinancialSummaryRequest20010 {
     string outerOrderId;
     dateTime applyDateEnd;
     string transID;
     WssUserInfo userInfo;
     dateTime applyDateBegin;
    }
        [15] => struct FinancialSummaryResponse20010 {
     int transPayoutCounts;
     int payoutCounts;
     int transCounts;
     int paymentCounts;
     string transID;
     int transPaymentCounts;
     decimal paymentAmount;
     decimal transPaymentAmount;
     decimal payoutAmount;
     int completeCounts;
     SysMessage sysMessage;
     string outerOrderId;
     decimal transPayoutAmount;
    }
        [16] => struct FinancialSummaryRequest20020 {
     string by5;
     dateTime applyDateEnd;
     string by4;
     WssUserInfo userInfo;
     dateTime applyDateBegin;
     string by3;
     string by2;
     string by1;
     string outerOrderId;
     string transID;
    }
    ....
    )
      

  6.   

    假如:用户名:username密码是userpass该如何写呢?
    我要的功能就是发送数字串然后获取结果就可以了。
      

  7.   

    php自带了soap client和soap server,用zend studio生成WSDL挂在apache下,soap cilent就可以根据WSDL进行远程调用了。之前想写个博客分享一下的,可惜太烦人没写完。
      

  8.   

    那么,我只能提供PHP和XML的转换了:http://download.csdn.net/detail/dmtnewtons/4303483
      

  9.   

    $client = new SoapClient('http://xxx.csdn.net/services/User.asmx?WSDL'); 
    $param = array('userID' => $passport['uid'],'userMoneyItemID' => 1,'description' => '注册成功','keys' => $keys); 
    $creditresult = $client->InnerFunction($param);