基本的PHP函数:
//SOAP CALL
function sayHello(){
$client = new SoapClient('http://Server:8080/MyClassService/MyClass?WSDL');
$response = $client->glassfishHello();
return $response;
}
(后来我把sayHello()称为String,这就是错误所在的地方)
基本EJB提供了JAX-WS:
@WebService
@Stateless
public class MyClass{
@WebMethod(operationName="glassfishHello")
public String glassfishHello(){
return "Hello from GlassFish";
}
}
我必须遗漏一些非常简单的东西但是在谷歌和其他选项耗尽之后,我找不到一个简单的例子,因为我需要理解这一点。
我的Php有错误:可恢复的致命错误:类stdClass的对象无法转换为..等等。
因此,我必须要在PHP中解析来自WSDL的响应。
谢谢! (我可以发布WSDL或任何其他资源) 是的我确实启用了SOAP并且正在工作。
是的,我的问题是返回什么类型的对象。我希望我的sayHello()函数返回一个String。如果我施放$ response =(string)..那么我就有错误。
解答: 我知道这很简单,只是一个愚蠢的PHP错误,自从我最后使用PHP以来已经太久了:
//SOAP CALL
function sayHello(){
$client = new SoapClient('http://Server:8080/MyClassService/MyClass?WSDL');
$response = (array) $client->glassfishHello();
return $response['return'];
}
答案 0 :(得分:0)
我知道这很简单,只是一个愚蠢的PHP错误,自从我上次使用PHP以来已经太久了:
//SOAP CALL
function sayHello(){
$client = new SoapClient('http://Server:8080/MyClassService/MyClass?WSDL');
$response = (array) $client->glassfishHello();
return $response['return'];
}