gpt4 book ai didi

java - Axis2 Web 服务 -> php

转载 作者:行者123 更新时间:2023-12-01 05:59:16 25 4
gpt4 key购买 nike

如果我正确理解了 Axis2,我可以构造一个 WebService,然后使用任何 SOAP 兼容客户端访问它。

我有一个 java 类,其中包含我在 Eclipse 中编写的几个方法,然后使用 WTP 的 Axis2 插件自动构建一个服务。

这是我类(class)的方法。

public int test(int i){
return i+2;
}

public Car CarTest(int speed){

return new Car("Biltest", speed);
}

public CarFactoryAdapter getCarFactory(){
carFact.getCars().add(new Car("Bmw", 250));
carFact.getCars().add(new Car("seat", 350));
carFact.getCars().add(new Car("saab", 150));
carFact.getCars().add(new Car("volv", 50));

return new CarFactoryAdapter(carFact);
}

当我用soapUI 尝试时,代码似乎可以工作,并且 Axis2-web 界面已经识别了我的服务的方法。但是当我尝试使用 PHP 内置的soapClient 接收参数的方法时,我得到了一个未知的异常。 getCarFactory 方法至少按预期工作,但如果我无法发送参数,它似乎有点瘫痪。

非工作方法调用示例。

ini_set('soap.wsdl_cache_ttl',0);
$client = new SoapClient("http://192.168.128.162:8080/ComplexWebService/services/CarService?wsdl", array('soap_version' => SOAP_1_2, 'trace' => 1));
$ar['i'] = (int)100;
print_r($client->__soapCall("test",$ar));

我需要确保我选择的 SOA 框架能够与许多平台通信,至少会有 PHP 和 Java 的客户端,但如果它能在例如 .NET 中工作那就更好了。

最佳答案

看来 __soapCall 方法采用的是带有数组的数组。

所以我认为

print_r($client->__soapCall("test",array($ar)));

可以,至少可以与 JAX-WS 一起使用..

关于java - Axis2 Web 服务 -> php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1607679/

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