问题标签 [soapserver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1367 浏览

php - PHP SoapServer:不解析 XML(WSDL 文件) - 没有 XML 文件 - URL 上带有“?wsdl”

我在生产服务器(远程服务器)上的 PHP 上实现的 Soap 服务器出现问题。

我已经实现了一个简单的 Soap 服务器(本机 PHP 类),仅在 WSDL 模式下使用函数。

所以我的代码看起来像:

现在,如您所知,当您通过 Web 浏览器使用“http://localhost/soapserver/wsServer.php”之类的 url 调用服务器时,您会得到一个空白页面 - 在我的情况下 - 或者您在那里编写的任何内容(服务器代码)。

但是,如果您在“http://localhost/soapserver/wsServer.php?wsdl”末尾使用“?wsdl”调用相同的 URL,那么服务器(我猜是句柄函数)会在 Web 浏览器上解析 XML wsdl,所以你得到一个 text/xml 内容类型,你可以看到 XML 定义本身。

现在,它适用于我的开发环境。没问题。我创建了一个 Soap 客户端来测试我自己的服务器,并查看它是否返回加速响应,并且一切正常。但是当我将代码上传到生产服务器时,它不起作用。

Firefox 在 url 上显示“?wsdl”调用,典型的错误是“XML malformed”,但在这种特殊情况下,它是从一开始就发生的,就像根本没有 XML 文件一样。如果我使用我的客户端,我会收到错误消息:

SOAP 错误:解析 WSDL:无法从“http://.../SOAP_SERVER/seguimientoServer.php?wsdl”加载:需要开始标记,未找到“<”

我已经正确更改了 WSDL XML 文件中的名称空间和 URL。所以它必须正常工作。但事实并非如此。

我发现存在与 HTTP 标头本身相关的现有错误,基于分块数据、内容长度、X-powered-by 等等......

但我没有看到解决方案。

基于此,我在服务器上做了一些小改动(在 handle() 调用之后):

有了这个,它真的有效!但我敢肯定,这不一定是解决它的方法......

0 投票
1 回答
1732 浏览

php - 从 PHP SoapServer 返回一个字符串数组

我正在尝试用 PHP 构建一个肥皂服务。我用于 Web 服务的 WSDL 是由 Visual Studio 2010 自动生成的(我只是使用 Visual Studio 创建 WSDL,实际的服务器是用 PHP 和 SoapServer 构建的)。正在处理对肥皂服务的请求,但是当我尝试返回一个字符串数组时,客户端没有得到任何结果。以下是 WSDL 的相关部分:

PHP服务器代码如下:

我还尝试从 PHP getGroups函数中仅返回array('hello world'),但这也不起作用。有人可以帮我更正 PHP 代码以返回与我的 WSDL 定义匹配的字符串数组。

0 投票
0 回答
1669 浏览

php - .Net 客户端未收到 PHP SoapServer 返回的字符串值

我正在使用由 Visual Studio 2010 自动生成的 WSDL 文档(即,来自您在 Visual Studio 中创建新的 Web 服务应用程序时创建的“HelloWorld”应用程序。)但我需要在 PHP 中开发 Web 服务,所以我将这个 WSDL 文档与 PHP SoapServer 一起使用。我将在此处复制 WSDL 文档:

我的 PHP SoapServer 代码如下所示:

当我尝试使用 .Net 客户端调用此肥皂服务时,我得到一个空字符串返回。有谁知道这个简单的例子出了什么问题?

更新:

这似乎是从 PHP 服务器与 .Net 客户端通信的问题。我已经使用 PHP 客户端进行了测试,并且在 PHP 客户端中收到了服务器返回的消息。但由于某种原因,.Net 客户端返回了一个空字符串。对于 .Net 客户端,我创建了一个简单的 WinForms 应用程序,添加了对 php soap 服务器的 Web 引用。Web 参考被正确添加并显示 API。我使用以下点击句柄在表单上放置了一个按钮:

0 投票
2 回答
565 浏览

php - Execute curl using php

I can call a soap server using java like this

But my question is how can I call this same function using curl and php, I have already tried this, but it may be some kind of funny code

But it echo http code 100 and I do not found any result from soap server. But my soap server is ok, tested by java.

0 投票
0 回答
613 浏览

php - 如何使用 php soap 服务器返回自定义类型?

我使用 PHP SoapServer 在非 wsdl 模式下工作。我将服务器设置为处理数据并使用 setClass() 返回响应。我尝试返回一个关联数组,但这会转化为带有项目、键和值的 SOAP 映射。我想回复以下内容:

变量将是成功是真还是假,以及评论。

我一直在尝试阅读有关“typemap”选项的信息,但它的文档记录不是很好,到目前为止我发现的内容只会让我更加困惑。到目前为止我找到的资源是 php 单元测试,比如这个这个,以及这个 stackoverflow 问题

谁能给我一个例子来做我想做的事情?我想我可以通过自动发现(使用 Zend 的 Soap 服务器)切换到 wsdl 模式,如果这是一个解决方案的话。

编辑:在我弄清楚如何以正确的方式做之前,我只是手动写出所有的 XML。

0 投票
3 回答
29241 浏览

php - 从给定的 WSDL 创建 PHP SOAP 服务

这可能是一个非常懒惰的问题,但我向你保证不是。我已经尝试了好几天才能让这个工作,但我就是做不到。

我得到了一个 WSDL 文件,我需要在 PHP 中为它创建一个 SOAP 服务。谁能告诉我正确的做法是什么?

服务的接收者期望在调用 getMember 方法时返回一个“用户”对象。

这是 WSDL

我会非常感谢任何可以提供帮助的人。

额外的

0 投票
1 回答
2108 浏览

php - SoapServer 发送没有信封的响应

我想发送一个纯 xml 的肥皂响应,即没有肥皂信封。这是我目前的回应

但是,这是我想发送的回复

有没有人有什么建议?

提前谢谢了

0 投票
1 回答
3072 浏览

php - SoapServer 发送 text/html 标头而不是 text/xml

我的肥皂服务器在响应标头中发送 Content-Type: text/html。我需要内容类型:文本/xml。

这是服务器的响应:

HTTP/1.1 200 OK
日期:2012 年 3 月 19 日星期一 12:17:10 GMT
服务器:Apache/2.2.20 (Ubuntu)
X-Powered-By:PHP/5.3.6-13ubuntu3.6
Set-Cookie:CAKEPHP=msmid2fijgrj1efjs0otl8qfj1 ; 过期=格林威治标准时间 2012 年 3 月 19 日星期一 16:17:10;path=/
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 877
Content-Type: text/html ; 字符集=UTF-8

我尝试使用 text/xml 内容类型调用 header()

构建 SoapServer 前后,但没有结果。

0 投票
4 回答
9140 浏览

php - PHP Soap Server 如何知道被调用的方法

在 PHP 中,我想知道 SOAP 调用的方法是什么。这是一个示例以了解...

我想知道的是将在 handle() 中执行的方法的名称

谢谢 !!

0 投票
1 回答
747 浏览

php - 通过 WSDL/SoapServer 解析 SOAP 响应

我需要接受包含一些数据的不可修改的 SOAP 消息。它被发布到我的 WSDL 文件,然后是 PHP SoapServer。如何通过我的 wsdl 或 php 提取消息中的特定数据(包装在 xml 密钥中)?

数据流(动作是箭头,第二个箭头来自 SoapServer.php 气泡并接收响应): 数据流(动作是箭头,第二个箭头来自 SoapServer.php 气泡并接收响应)