gpt4 book ai didi

java - 从 php 调用 SOAP Web 服务时接收 Web 方法参数的 null 值

转载 作者:行者123 更新时间:2023-12-02 02:11:21 26 4
gpt4 key购买 nike

我有一个用 Java 编写的 Soap Web 服务。

我从 php 调用此 Web 服务并将参数传递给 Web 方法,但在 Web 方法中获取 null。

我的网络服务如下:

@SOAPBinding(style = Style.RPC)
@WebService(serviceName = "Test")
public class Test {

@WebMethod(operationName = "hello")
public String hello(@WebParam(name = "name1") String txt1, @WebParam(name = "name2") String txt2) {

System.out.println("Request : Hello " + txt1+" , "+txt2);
return "Response : Hello " + txt1 + " ! " + txt2;
}
}

WSDL的消息部分如下:

<message name="hello">
<part name="name1" type="xsd:string"/>
<part name="name2" type="xsd:string"/>
</message>
<message name="helloResponse">
<part name="return" type="xsd:string"/>
</message>

从 php 调用 webservice 如下:

$client = new SoapClient("http://localhost:8081/androidWebServiceTest/Test?wsdl"); // soap webservice call

$functions = $client->__getFunctions(); // getting list of web methods

$types = $client->__getTypes(); // getting types

$response = $client->hello(array("parameters" => array("name1" => "test1", "name2" => "test2"))); // calling web method hello

// dumping $functions, $types and $response
var_dump($functions);
var_dump($types);
var_dump($response);

此调用的输出如下:

D:\wamp64\www\WebService\netbeans\Monitor2Test\test.php:49:
array (size=1)
0 => string 'helloResponse hello(hello $parameters)' (length=38)
D:\wamp64\www\WebService\netbeans\Monitor2Test\test.php:51:
array (size=2)
0 => string 'struct hello {
string name;
}' (length=30)
1 => string 'struct helloResponse {
string return;
}' (length=40)
D:\wamp64\www\WebService\netbeans\Monitor2Test\test.php:53:
object(stdClass)[3]
public 'return' => string 'Response : Hello null ! null' (length=19)

服务器日志中的输出如下:

Request : Hello null , null

我尝试了不同的解决方案,但没有任何效果,仍然无法将参数发送到 Web 方法,总是在 Web 方法中获取 null。

最佳答案

试试这个:

<?php
// ...
$soapClient->hello([
'name1' => 'test1',
'name2' => 'test2'
]);
// or
$soapClient->__soapCall('hello', [
'parameters' => [
'name1' => 'test1',
'name2' => 'test2'
]
]);

关于java - 从 php 调用 SOAP Web 服务时接收 Web 方法参数的 null 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49995900/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com