今天跟同事调用一个数据api ,用soap方式调用。本以为很简单的事情,却弄到了晚上。

  因为有过调试经验,直接按照以往的过程直接部署,结果是错误。

  1. 以为是调用方式错了,问了一下对接的同事,没问题,并把参数复制过去,同事在自己的机器上,调试正确。

  2. 仔细询问了一下,发现请求IP 错误,(这个IP 是另外一个同事给的),ip已经下架了。 更换IP

  3. 更换之后还是不行,发现新的ip 与自己的机器不能通信,新Ip 为线上IP段,而我的开发机是开发段,不能直接访问。

  4. 由于此API 用处不是很多,所以没有开发环境, 更悲剧的是,另一个API只有开发环境,没有线上测试环境, 悲剧

  5. 单独拿到线上测试此接口,竟然还是不行,跟对接同事联调了一下,还是我这里不行,他哪里行。我们都没有办法

  6.找到此API的开发者,看了我的调用方式没有什么问题, 又没有ip限制,这是为什么呢?他在服务段 写了一个测试文件,我用curl 访问了一下,成功! 说明网络通信没问题,还是soap 的调用有问题。

  7.对比发现,他们调用都是用的php 的soap 模块,我们是用nusoap 文件调用。但是经验来说,两种方法都可以调用。对比了nusoap 版本 也没有问题。

  最后还是 开发者发现了问题,是client调用二者还是有区别的。

    二者区别:

        soap 模块 :   $this->client = new nusoapclient(null, array("location" => $this->url, "uri" => "http://data_request/", 'compression' =>

SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP, 'encoding' => .'utf-8', 'trace' => true));

        nusoap  : $this->client = new nusoapclient($this->url);

  8.最后pE 同学解决了 测试环境不统一的问题,他设置了一个代理(具体方法没问)

  感觉这么小的问题,用了这么长 时间有两个原因:

    1. 自己对nusoap 掌握不熟练,不能快速定位到问题所在。虽然以前调用过,但都是拿来主义,环境都是统一的,基本没有遇到问题。

    2. 业务线长,先后找了四位同学,解决了一个问题,都要从头调式,测试的时候都要改动。 看来 人月 神话,果然是神话呀。

一次 php nusoap 调试过程的更多相关文章

  1. 关于火狐浏览器在开发调试过程中,出现javascript:void(0)的状态

    关于火狐浏览器在开发调试过程中,出现javascript:void(0)的状态 由于火狐浏览器没有安装 Adobe Flash Player 19 NPAPI这个插件 安装好了之后就可以直接运行了

  2. S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

    S3C6410裸奔之旅——RVDS2.2编译.仿真.调试过程 LED流水灯 (2012-10-13 23:56:30) 转载▼ 标签: s3c6410裸奔 ok6410 rvds2.2 rvds2.2 ...

  3. MYSQL存储过程调试过程

     mysql不像oracle有plsqldevelper工具用来调试存储过程,所以有几种简单的方式追踪执行过程: 1.用一张临时表,记录调试过程: 2.直接在存储过程中,增加select xxx,在控 ...

  4. stm32--FatFs调试过程(SPIFlash)

    移植方法参见我的另一篇博客:<stm32--FatFs移植(SPIFlash)>. 本文仅记录在初次移植完成后,遇到的问题,和解决的过程. 调试记录: 问题1:f_open返回3,即磁盘没 ...

  5. Android APP 调试过程中遇到的问题。

    调试过过程中APP安装完启动后有的时候会异常退出,报这个错误.有的时候可以直接启动.查找不到原因.网上说把commit方法替换成commitAllowingStateLoss() 也无效. Andro ...

  6. 调试过程中发现按f5无法走进jdk源码

    debug 模式 ,在fis=new FileInputStream(file); 行打断点 调试过程中发现按f5无法走进jdk源码 package com.lzl.spring.test; impo ...

  7. 0xe7f001f0!?NDK调试过程,无故抛出SIGSEGV。

    arm调试过程,如果抛一个SIGSEGV,地址在 0xe7f001f0 附近,原因居然是因为我在调试.当我使用n指令跳到下一行代码时,往往变成了continue指令一样地执行.还不确定地抛出SIGSE ...

  8. VS·调试过程中某个操作导致调试突然退出之解决方案

    阅文时长 | 0.11分钟 字数统计 | 232字符 主要内容 | 1.引言&背景 2.声明与参考资料 『VS·调试过程中某个操作导致调试突然退出之解决方案』 编写人 | SCscHero 编 ...

  9. C语言调试过程中duplicate symbol错误分析

    说明:在我们调试C语言的过程中,经常会遇到duplicate symbol错误(在Mac平台下利用Xcode集成开发环境).如下图: 一.简单分析一下C语言程序的开发步骤. 由上图我们可以看出C语言由 ...

随机推荐

  1. Using OpenCV with gcc and CMake

    Using OpenCV with gcc and CMake Note We assume that you have successfully installed OpenCV in your w ...

  2. Linq中Take、TakeWhile、Skip、SkipWhile的比较(转)

    参考文章:http://blog.csdn.net/lxfzgg/article/details/20534281 Take() , , , , , , , , , }; ); //从第一个元素开始, ...

  3. Android iOS Dribbble风格边栏菜单实现

    随着IOS7的推出,大量移动应用也开始进行了重新设计.,开始应用大量的扁平化.可以说现在IOS和Android的风格设计方面确实是在逐渐地靠拢. ReisdeMenu 创意灵感来自于Dribbble( ...

  4. 【转】Android Studio 的小小配置

    这篇博文的内容列表: 1.编辑器的字体设置 2.预览XML布局 3.导入项目  4.显示行号  5.新建Java类和Component的子类 额~~程序猿一般话都不多,嘿嘿,那咱就直接图文吧~ ^_^ ...

  5. EasyUI-增删改操作

    最近公司要用easyui,这里自己看了官网几篇文章,遇到些问题,大多数的问题都是敲代码的时候笔误,其他有些地方确实需要注意一下,这里做些笔记. 1.在mysql中建好表之后修改id字段为递增字段,发现 ...

  6. java 递归函数

    一.递归函数,通俗的说就是函数本身自己调用自己...  如:n!=n(n-1)!  你定义函数f(n)=nf(n-1)  而f(n-1)又是这个定义的函数..这就是递归  二.为什么要用递归:递归的目 ...

  7. activity中实现Spinner绑定

    (1)须要一个基本的布局文件activity_main <RelativeLayout xmlns:android="http://schemas.android.com/apk/re ...

  8. 手动安装 mysqldb 与[ pip easy_install]

    mysqldb下载: http://sourceforge.net/projects/mysql-python/ https://sourceforge.net/projects/mysql-pyth ...

  9. CentOS下MySQL 5.7编译安装

    CentOS下MySQL 5.7编译安装   文章目录 安装依赖包 下载相应源码包 添加mysql用户 预编译 编译安装 启动脚本,设置开机自启动 /etc/my.cnf,仅供参考 初始化数据库 设置 ...

  10. android之tween动画详解

    android中一共提供了两种动画,其一便是tween动画,tween动画通过对view的内容进行一系列的图像变换(包括平移,缩放,旋转,改变透明度)来实现动画效果,动画效果的定义可以使用xml,也可 ...