如何从Java连接到SOAP服务器并运行我的服务器内置方法/服务?
如何从Java连接到SOAP服务器并获取givemeSmile()方法?这在Java中不起作用,我正在尝试URLConnection,但我认为这不可能 我的问题是:有任何SOAP客户端库吗 Php(发件人): Java(接收器):如何从Java连接到SOAP服务器并运行我的服务器内置方法/服务?,java,php,zend-framework,Java,Php,Zend Framework,如何从Java连接到SOAP服务器并获取givemeSmile()方法?这在Java中不起作用,我正在尝试URLConnection,但我认为这不可能 我的问题是:有任何SOAP客户端库吗 Php(发件人): Java(接收器): 我将使用ApacheAxis2快速创建soap客户端。soap消息通常是xml格式,soap使用WSDL文件作为接口描述 包括一个5行程序来实现SOAP客户端,并从收到的SOAP消息中获取结果。您可以使用库发送HTTP请求。用法示例是 但这是一个低级的解决方案,你必须
我将使用ApacheAxis2快速创建soap客户端。soap消息通常是xml格式,soap使用WSDL文件作为接口描述 包括一个5行程序来实现SOAP客户端,并从收到的SOAP消息中获取结果。您可以使用库发送HTTP请求。用法示例是 但这是一个低级的解决方案,你必须手工实现很多细节,只有当你的应用程序不是很大的时候才选择它。如果这种方法不适合您,您应该使用一些SOAP客户端库,如Axis2或(示例)
class Zend_Controller_Action
{
/**
* Client module - always works
*/
public static function indexAction()
{
$client = new Zend_SOAP_Clnt('http://www.test.gov/index/server');
$result = $client->givemeSmile('test');
var_dump($result); // output: hehehe test
exit;
}
/**
* Server module - works
*/
public static function serverAction()
{
require_once APPLICATION_PATH . '/models/Soap.php';
if ( $if_mannually_url_is_open===true ){
$server = new Zend_Soap_AutoDiscover();
}else{
$server = new Zend_Soap_Server("http://www.test.gov/index/server");
}
$server->setClass('My_Model_Soap')->forJava();
$server->handle()->render();
}
}
URL url = new URL(getServer(1)); // to WSDL/SOAP link
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null)
{
line.givemeSmile(); // expected output: hehehe test
}