项目中使用到了调用三方厂商webService接口。他的接口类似为http://haha.cn:86/BaseInfoService.svc?wsdl,在这里我注意到了“wsdl“以前从来没有过这种接口的经验,起初想用CURL调用,但是一直失败,后来想到了php扩展soap

以下为我的代码:

function SendLeads($data){
header('Content-Type:text/html; charset=utf-8');//设置编码方式UTF-8
ini_set('soap.wsdl_cache_enabled','0');//关闭缓存
$url = 'http://ddmp.audi-online.cn:86/BaseInfoService.svc?wsdl';
$client = new \SoapClient($url);
//dump($client);die;
$para = array(
'Key'=>$this->User_Key,
//'RequestType'=>array(
// 'Type'=>0,
// 'MaxID'=>'',
// 'MaxTime'=>'',
//),
'RequestObjectList'=>array(
array(
'ADDRESS'=>null,
'BIRTHDAY'=>null,
'BUSINESS_PHONE'=>null,
'BUY_PLAN_TIME_CODE'=>'0',
'CAR_COLOR'=>null,
'PROVINCE'=>$data['province'], //省份
'CITY'=>$data['city'],//城市
'FK_DEALER_ID'=>$data['dealer_name'], //经销商编号
'COMMENTS'=>null,
'CONTACT_METHOD'=>null,
'CUSTOMER_NAME'=>$data['name'],
'GENDER'=>null,
'INDUSTRY'=>null,
'LEAD_TYPE'=>$this->Leadtype, //渠道标识
'MEDIA_LEAD_ID'=>$this->User_Key.'xingy'.rand(1000000000,9999999999),
'MOBILE'=>$data['mobile'],
'MODEL'=>'', //意向车型
'ORDER_TIME'=>date('Y-m-d H:i:s',time()), //下单时间
'PHONE'=>null,
'PROFESSION'=>null,
'SERIES'=>'15', //车系
'USER_KEY'=>$this->User_Key,
'SMART_CODE'=>'3513')));//设置参数(参数格式为第三方要求的格式) 参数为数组方式传递空数组用array 参数之间用,分隔。 key value形式 => 为指向值
$jsonData = json_encode($para); //转json
$date = array('inputParam'=>$jsonData);
$result = $client->SendLeads($date);
$array = get_object_vars($result);
$str = $array['SendLeadsResult'];
$arr = json_decode($str,true);
if($arr['Success']=='1' && $arr['Message']=='执行成功'){
return json_encode(['code'=>1,'msg'=>'执行成功']);
}else{
return json_encode(['code'=>0,'msg'=>'执行失败']);
}
}

这里大家可能会遇到一种问题就是在本地调试是成功的,但是上传到服务器就会报错(504),通过和接口提供方沟通发现我们的服务器在出去之前是有防火墙限制的,于是要了他们的端口号,在我们服务器开了相关接口,搞定了!!!希望对大家有帮助,有不足的地方请大家评论指正!谢谢!!

php调用webservice接口的更多相关文章

  1. Java调用webservice接口方法

                             java调用webservice接口   webservice的 发布一般都是使用WSDL(web service descriptive langu ...

  2. php中创建和调用webservice接口示例

    php中创建和调用webservice接口示例   这篇文章主要介绍了php中创建和调用webservice接口示例,包括webservice基本知识.webservice服务端例子.webservi ...

  3. 使用soapui调用webservice接口

    soapui是专门模拟调用webservice接口的工具,下面介绍下怎么使用: 1.下载soapui并安装: 2.以免费天气获取接口为例:http://www.webservicex.net/glob ...

  4. 使用JS调用WebService接口

    <script> $(document).ready(function () { var username = "admin"; var password = &quo ...

  5. java 调用webservice接口wsdl,推荐使用wsdl2java,放弃wsimport

    网上说wsimport是jdk1.6后自带的客户端生成调用webservice接口的工具,其实我挺喜欢原生的东西,毕竟自家的东西用着应该最顺手啊,但往往让人惊艳的是那些集成工具. 本机jdk1.8.1 ...

  6. js调用Webservice接口案例

    第一步:新建Webservice接口 主文件方法 using System;using System.Collections.Generic;using System.Web;using System ...

  7. SQL调用WebService接口

    今天在做一个非常奇葩的东西.中间有个过程要在SQL触发器里面调用webservice接口.呵呵~ ALTER TRIGGER tgr_UpdateMemcached ON dbo.[User] AFT ...

  8. 动态调用WebService接口的几种方式

    一.什么是WebService? 这里就不再赘述了,想要了解的====>传送门 二.为什么要动态调用WebService接口? 一般在C#开发中调用webService服务中的接口都是通过引用过 ...

  9. ThinkPHP使用soapclient调用webservice接口

    1,开启 php.ini 这2个服务 12 extension=php_openssl.dllextension=php_soap.dll 以公共天气预报webservice为例,采用thinkPHP ...

  10. 调用webservice接口,报错:(十六进制值0x01)是无效的字符

    #事故现场 调用webservice接口,报错:(十六进制值0x01)是无效的字符. 如图: 意思是webservice返回的信息中包含无效的字符,无法解析成xml: #分析 使用postman向we ...

随机推荐

  1. Ta-lib函数功能列表

    import tkinter as tk from tkinter import ttk import matplotlib.pyplot as plt import numpy as np impo ...

  2. 2_linux 常用基本命令

    相信当你看到此帖子时,你已不再是当年那个颓废的你,你一定也在追梦的路上奔跑,那么请留下你的“梦”,让我们用心去交流,好吗? 废话不多说,直接说正事! 一.查看磁盘分区 1.fdisk -l  查看磁盘 ...

  3. JS函数-我调用自己试试看

    前言 最近在读<JavaScript语言精粹>,对递归函数有了进一步的认识,希望总结下来: 递归是一种强大的编程技术,他把一个问题分解为一组相似的子问题,每一问题都用一个寻常解去解决.递归 ...

  4. windows server 2012 + sql server 2008 r2安装

    windows server 2012 r2  里面安装 sql server 2008 r2 问题总结 前提是 windows server 2012 r2 已经安装完成  ,(仅仅是安装完成 啥服 ...

  5. Ext.data.Store添加动态参数

    多条件查询页面的参数都是动态的,并且我们通常还会有默认加载页面.此时,动态添加参数非常重要,其中baseparam是解决问题的关键. @ 将查询条件定义为一个全局变量 var param_01 = & ...

  6. GreenOpenPaint简介

    一.项目概述 类似Windows系统下面的画图程序,但是已经从底层全部重新实现,改造成为"图像处理"类程序的基本运行框架. 由于是demo界面,较为简陋,但是因为框架已经搭建完善, ...

  7. 正则表达式过滤HTML、JS、CSS

    功能用途 主要是用来提取html页面内容时使用. 示例代码 using System; using System.Collections.Generic; using System.Linq; usi ...

  8. Javascript的内容摘要

    JS简介和变量 {JS的三种方式}            1 HTML中内嵌JS(不提倡使用)            <button onclick="javascript:alert ...

  9. Linux-mknod命令(9)

    mknod命令用于创建字符设备文件和块设备文件 (ls /dev -l 结果显示b开头和c开头的,即标识了块设备和字符设备.) 为了管理设备,所以设备中都有两个设备号:  主设备号:为了区分不同类型的 ...

  10. Jquery 清空input file的值

    var file = $(obj).parent().find(".fileData");                $(file).val('');