ZF2 SOAP“过程不存在”错误

2024-01-19

我在解决这个问题时遇到了严重的麻烦。我有一个包含 3 个模块的应用程序,这些模块通过 SOAP 提供不同的服务。发生的情况是,其中 2 个得到了以下响应:

肥皂故障

文件: /var/www/empreendimentos/vendor/zendframework/zendframework/library/Zend/Soap/Client.php:10

信息: 程序不存在

我已经仔细检查过,函数的名称是正确的,并且我使用了 getFunctions 方法。这是 getFunctions() 的返回值:

array
  0 => string 'Array getCliAll(anyType $filter)' (length=32)
  1 => string 'Array insertCli(anyType $data)' (length=30)
  2 => string 'Array editCli(anyType $data, anyType $id)' (length=41)
  3 => string 'void setServiceLocator(anyType $serviceLocator)' (length=47)
  4 => string 'void getServiceLocator()' (length=24)

我的处理方法如下所示:

public function handleWSDL() {
$autodiscover = new AutoDiscover();
$autodiscover->setClass('\Cli\Service\CliService');

$autodiscover->setUri($this->_URI);
$wsdl = $autodiscover->generate();
$wsdl = $wsdl->toDomDocument();

// geramos o XML dando um echo no $wsdl->saveXML() 
echo $wsdl->saveXML();
}

public function handleSOAP() {
$soap = new \Zend\Soap\Server($this->_WSDL_URI);
$soap->setWSDLCache(false);
$classHandle = new CliService();
$classHandle->setServiceLocator($this->getServiceLocator());
$soap->setClass($classHandle);
$soap->handle();
}

我在服务器端没有收到任何错误。所有方法只有这个响应。怎么了?

UPDATE:

事实证明这是 ZF2 配置的“问题”。超载。我使用 modile.config.php 来保存 WSDL 和 URI 信息,但对文件上的配置使用相同的标签。过载使每个 WSDL 和 URI 都相同,并给我带来了问题。

像这样:

Emp 模块 modile.config.php

'service_url' => array(
    "wsdl" => 'http://localhost/empreendimentos/public/emp/service?wsdl',
    "return" => 'http://localhost/empreendimentos/public/emp/service',
),

Emp 模块 modile.config.php

'service_url' => array(
"wsdl" => 'http://localhost/empreendimentos/public/cli/service?wsdl',
"return" => 'http://localhost/empreendimentos/public/cli/service',
),

有谁知道为什么会这样吗?它应该混合模块配置吗?


昨天遇到这个问题,发现答案是在服务器wsdl调用中。

服务器调用自己的 wsdl 来内省可用的方法。如果您的 wsdl url 错误,它会查看另一台服务器中可用的方法并显示“过程不存在”。

就我而言,AdmintoolsController 有一行

$wsdl_url = 'http://' . $_SERVER['HTTP_HOST'] . '/news/?wsdl';

所以它在新闻服务中寻找方法。

将其更改为

$wsdl_url = 'http://' . $_SERVER['HTTP_HOST'] . '/admintools/?wsdl';

而且效果很好。

我在谷歌上搜索了几个小时寻找这个修复程序,我的同事查看了代码并立即发现了它。

希望这可以帮助

John

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ZF2 SOAP“过程不存在”错误 的相关文章

  • 如何使 laravel Blueprints 变形方法在指定列后添加列

    在创建迁移脚本时我可以做这样的事情 Schema table books function Blueprint table table gt string reference gt after access 这将在访问列之后创建我的参考列
  • 我是否需要破解 ZendFramework1.10.8/Doctrine1.2.2 才能生成模型?

    我已经开始阅读 zend 框架 它与 Doctrine 一起使用 并实现了一个小项目来掌握理解 我已经到了需要生成模型的地步 就像拥有一个生成脚本一样 如 Doctrine 1 2 中建议的那样 2 pdf 手册 经过几次不成功的尝试 例如
  • 显示文件夹并建立这些文件夹的链接

    我正在寻找用 PHP 构建一个目录浏览器 我刚刚开始编写代码 但需要有人帮助我完成或修改它 dir dirname FILE path of the directory to read iterator new RecursiveDirec
  • PHP 数组的最大键大小是多少?

    我正在生成关联数组 键值是 1 n 列的字符串连接 会回来咬我的钥匙有最大长度吗 如果是这样 我可能会停下来并采取不同的做法 它似乎仅受脚本内存限制的限制 快速测试后我得到了 128mb 的密钥 没问题 ini set memory lim
  • Symfony 生产日志

    在 Symfony 3 中 我是否可以在不打开调试模式的情况下将所有错误写入生产日志 错误将包括 http 500 错误或应用程序错误或 php 错误 这些错误由于生产时错误标志设置为 false 而被静音 当前生产的日志配置是 monol
  • 如何完全刷新 CodeIgniter 中的页面?

    我正在叠加层中加载表单 覆盖层对于调用覆盖层的页面有一个单独的控制器和操作 在表单提交时 如果成功 我只想重新加载加载叠加层的引用页面 我可以加载引用页面 但它将内容放置在覆盖层内 header Location www example c
  • 有没有办法清除所有会话中的一些会话数据?

    一般来说 我有以下场景 从数据库中获取产品及其相关数据 将获取的数据转换为 php product 对象 在会话中缓存产品对象 缓存是只读的 即客户在网站上查看产品 但也有类似的电话getProductIdsByCategory categ
  • 电子邮件标题中的特殊字符是什么以及何时使用引号?

    我正在尝试使用 PHP 发送和阅读电子邮件 到目前为止 我发现我必须使用该函数对特殊字符进行编码mb encode mimeheader 但我不必对空格进行编码 我还发现地址字段中的括号不起作用 读取带有括号的标题时 PHP 的 imap
  • str_getcsv 未正确解析数据

    我对 PHP 的 str getcsv 函数有疑问 我有这个代码
  • Laravel - 如何使用供应商类?

    我想在 m paths php 文件上使用移动检测 我已将该包添加为composer json 中的必需项 并将其安装在供应商文件中 我现在该如何使用它 我尝试了这个答案 但没有成功 因为找不到该课程 Laravel 4 使用供应商类 ht
  • Nginx 与 phpmyadmin 登录后重定向错误

    我正在使用 nginx 设置 phpMyAdmin 我可以访问 phpMyAdminhttp localhost phpmyadmin http localhost phpmyadmin 但是 当我登录时 URL 被重定向到http loc
  • URL 重写 OpenCart 产品 SEO

    我想重写我的 opencart 网上商店的产品网址 Opencart 本身有一个 seo 实现 这真的很糟糕 我已经更新了 seo 实现 以便能够对多个类别使用相同的关键字 请参阅 Opencart 重复 URL 关键字 https sta
  • 如何在服务器(无 GUI)上呈现网页以进行打印?

    我正在尝试使用 PHP 脚本将页面实用地打印到办公室打印机 这是我到目前为止所得到的 我在服务器上安装了一台打印机 我可以通过命令行的打印命令使用 PHP 向其发送作业 我还可以使用 PHP 脚本编写纯文本文件 然后将它们添加到打印提示中
  • 设置基于 PHP 定时器的函数

    我有一个 php 文件test php 我想要echo or print5 秒后 即在浏览器调用 加载或打开 php 文件后不久 成功 顺便说一句 有时我可能想在特定的时间间隔后执行 初始化某些函数 如何使用 php 执行面向时间的任务 例
  • Symfony2 - Doctrine - 更新后没有更改集

    因此 当实体的某个值发生更改时 我会发送电子邮件 我只想在更新后发送电子邮件 以防更新因任何原因失败 所以在更新前我可以这样做 public function preUpdate LifecycleEventArgs args if arg
  • (mysql, php) 如何在插入数据之前获取auto_increment字段值?

    我正在将图像文件上传到存储服务器 在上传之前 我应该编写文件名 其中包含自动增量值 例如 12345 filename jpg 在插入数据库之前如何获取自动增量值 我只看到一种解决方案 插入空行 获取其自增值 删除这一行 使用 p 1 中的
  • 为什么 foreach 这么慢?

    PHPBench com http www phpbench com 在每个页面加载上运行快速基准测试脚本 在 foreach 测试中 当我加载它时 foreach 的运行时间是第三个示例的 4 到 10 倍 为什么本机语言构造明显比执行逻
  • password_verify 哈希值与密码不匹配

    我使用下面的代码生成了密码哈希 hash password hash test PASSWORD BCRYPT 然后我使用 255 个字符将其存储在数据库中 然后我尝试使用比较器来测试登录 但失败了 它只允许我使用我之前刚刚生成的几行哈希登
  • 手动检查 php 中的 jpeg 文件结尾标记 ffd9 (?) 以捕获截断错误

    基本上是尝试从集合中删除损坏的 过早结束的 jpeg 文件 我认为如果文件末尾标记不存在 则意味着图像被截断 因此我认为它对我的目的无效 这是检查声音的方法吗 如果是的话 我有什么想法可以在 php 中实现这个吗 cheers 尝试这个 j
  • 散列 hash_hmac 时,Convert.ToChar(0) 散列结果与 PHP 中的 chr(0) 不同的字符串

    我在 PHP 中有一个字符串 它被转换为字节数组并进行哈希处理 转换为字节数组的字符串如下所示 G 字符 0 便便 我需要 C 中的等效字节数组 这样我才能得到相同的哈希值 编辑 这是完整的问题 生成的哈希值不同 PHP api secre

随机推荐

  • 什么是 ARM Thumb 指令集?

    在 ARM11TechnicalRefManual 第 1 34 节的 Thumb 指令集 下 它说 Thumb指令集是最常用的32位ARM指令的子集 Thumb指令有16位长 并且有相应的32位ARM指令 对处理器模型具有相同的效果 任何
  • WCF 模拟/身份验证

    我已经看过模仿的例子 但仍然有问题 结构的一些细节 ASP net Windows 身份验证WCF 托管在 IIS 中 当前使用允许匿名用户 我想要实现的是允许将经过身份验证的 Windows 登录传递到 WCF 进行访问控制 例如阻止匿名
  • 可视化两个数值数组之间的差异

    我有两个长度相等的数值数组 其中一个数组的元素值始终 gt 第二个数组中对应 相同索引 元素的值 我试图在一张图中可视化 i 相应元素之间的差异 ii 两个数组中对应元素的值 我尝试绘制 CDF 如下所示 import numpy as n
  • 将字符串转换为以逗号分隔的双精度变量(0,07)

    在 C 中 我要读取一个双精度变量 该变量用逗号分隔 0 07 我首先从 Excel 中读取一个字符串 然后尝试将其转换为双精度 string str 0 07 Actually from Excel double number strto
  • FULL OUTER JOIN 将表与 PostgreSQL 合并

    下列的这个帖子 https stackoverflow com q 44562726 2508539当我应用给出的答案时 我仍然遇到问题 Vao Tsun https stackoverflow com users 5315974 vao
  • 来自参数的 Oracle“IN 子句”

    我对 Oracle 非常不熟悉 只是想让它发挥作用 我看过here https stackoverflow com questions 1573877 selecting values from oracle table variable
  • Android:如何在不使用 JDBC、PHP 或任何其他 Web 服务的情况下将数据发送到 MySQL DB? [复制]

    这个问题在这里已经有答案了 我正在开发一个 Android 应用程序来将数据发送到 MySQL DB 我正在使用 Apache 服务器 我知道使用 JDBC PHP 将数据发送到 MySQL DB 现在的挑战是不使用 JDBC 和其他 We
  • CABasicAnimation-animationDidStop 未调用

    我正在制作 CABasicAnimation 问题是animationDidStop 委托方法没有被调用 我不知道为什么 但希望有人知道 这是我的动画 CABasicAnimation theAnimation theAnimation C
  • 如何一次分配多个图例标签?

    我有以下数据集 x 0 1 2 3 4 y 0 1 2 3 4 5 6 7 8 9 9 8 7 6 5 现在我用以下方法绘制它 import matplotlib pyplot as plt plt plot x y 但是 我想用此命令标记
  • 具有隐藏构造函数的抽象类的实例

    我需要创建一个带有隐藏构造函数的抽象类的实例 该类如下所示 public abstract class TestClass hide public TestClass 创建具体类不起作用 因为构造函数不可见 并且通过反射 API 调用构造函
  • AngularJs ng-click $event 将子元素作为目标传递

    对于每个td表中的元素我有一个附加的 ng click 以下是每个表格单元格的 简化的 html td span event eventName span td
  • 无法从 Powershell 将 Chrome 设置为默认浏览器

    我正在运行以下 powershell 命令 chromePath Env ProgramFiles x86 Google Chrome Application chromeApp chrome exe chromeCommandArgs m
  • 外投影类型禁止使用方法

    我似乎无法理解 Kotlin 泛型 请帮忙 I read here https stackoverflow com questions 40519921 out projected type arraylist prohibits the
  • iOS - 检测促销代码应用内购买

    我有一个使用不可更新的应用内购买产品的应用程序 今天 我正在考虑为我的初始用户发布大约 100 个应用内促销代码 应用内购买在应用程序中按预期工作 但如果用户已经在 App Store 上兑换了促销代码 我无法弄清楚我需要在应用程序上进行什
  • 从ONU的UnData下载数据

    我想知道一段时间内一些国家的人口数量1960 2015 I found 包含这些数据 我有兴趣使用下载它Node js 我读到有一些APIs http data un org Host aspx Content API但我不明白如何使用它们
  • “multiprocessing.pool.Pool”中“context”参数的含义是什么?

    context是构造函数中的可选参数class multiprocessing pool Pool 文档 http python readthedocs io en stable library multiprocessing html m
  • iOS - 检测 UITableViewCell 被移出可见视图?

    一旦单元格在屏幕上不再可见 我就需要收到通知 UITableView 已经有一个名为的委托方法tableView didEndDisplayingCell forRowAtIndexPath 但这个委托方法永远不会被调用 是的 我确实有 U
  • 将域名重定向到heroku中的名称服务器?

    我已将我的域配置为 heroku IP 75 101 163 44 75 101 145 87 174 129 212 2 但它没有将我的应用程序重定向到我的域 错误说 该主机名上没有配置任何应用程序 也许应用程序所有者已将其重命名 或者您
  • 棉花糖精细和粗略位置权限

    我正在尝试访问ACCESS FINE LOCATION如果找不到访问权限ACCESS COARSE LOCATION 所以我请求这两个权限 但他们给了我相同的对话框 要求位置权限 我知道它们都在同一组 但谷歌说 Note 即使用户已经在同一
  • ZF2 SOAP“过程不存在”错误

    我在解决这个问题时遇到了严重的麻烦 我有一个包含 3 个模块的应用程序 这些模块通过 SOAP 提供不同的服务 发生的情况是 其中 2 个得到了以下响应 肥皂故障 文件 var www empreendimentos vendor zend