本人是写PHP的,有段JAVA看不懂,能帮忙翻译一下吗?
鄙人水平实在很菜....
代码我贴在下面,能通俗点讲就好了,谢谢
3.6 接口调用方法(java实现)
1. 假设提供soap接口的服务端地址为 http://10.0.0.100:8088/IfSoapDemo”
2. 访问WEB地址” http://10.0.0.100:8088/IfSoapDemo?wsdl”获得wsdl文档
3. 假定文档中说明该调用接口的类方法String do(String smg)
4. Java中调用该接口的简单示例代码如下:
try {
String endpoint = " http://10.0.0.100:8088/IfSoapDemo ";
org.apache.axis.client.Service service = new org.apache.axis.client.Service();
org.apache.axis.client.Call call = null;
call = (org.apache.axis.client.Call) service.createCall();
call.setOperationName(new javax.xml.namespace.QName(endpoint, "do "));
call.setTargetEndpointAddress(new java.net.URL(endpoint));
String smg = “testParameter”;
String ret = (String)call.invoke(new Object[]{smg});
}
catch (ServiceException ex)
{
ex.printStackTrace();
}
5. 用JBuilder等集成开发环境可以更加方便的生成相关调用代码。
------解决方案--------------------这是远程访问Web Services应用服务的基础程序框架,您可以去学习一下SOAP相关知识
//新建一个远程应用端口信息
String endpoint = " http://10.0.0.100:8088/IfSoapDemo ";
//通过Axis的Soap建立客户端对象
org.apache.axis.client.Service service = new org.apache.axis.client.Service();
//准备调用服务器应用服务
org.apache.axis.client.Call call = null;
//建立正式的远程连接
call = (org.apache.axis.client.Call) service.createCall();
//设置CALL的命名空间(可以去参考一下国际命名标准)
call.setOperationName(new javax.xml.namespace.QName(endpoint, "do "));
//设置服务器服务端口信息
call.setTargetEndpointAddress(new java.net.URL(endpoint));
//SMG是要传入到服务器的参数
String smg = “testParameter”;
//通过Invoke返回服务器的响应值,这里要注意:返回值是不确定的,所以在得到该返回值时要将其进行强制转换
String ret = (String)call.invoke(new Object[]{smg});