日期:2014-05-19 浏览次数:20785 次
package com.hoo.service;
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
/**
* <b>function:</b>HelloWorldService 客户端调用代码
* @author hoojo
* @createDate 2011-1-7 下午03:55:05
* @file HelloWorldClient.java
* @package com.hoo.service
* @project Axis2WebService
* @blog http://blog.csdn.net/IBM_hoojo
* @email hoojo_@126.com
* @version 1.0
*/
public class HelloWorldClient {
public static void main(String[] args) throws AxisFault {
//RPCServiceClient是RPC方式调用
RPCServiceClient client = new RPCServiceClient();
Options options = client.getOptions();
//设置调用WebService的URL
String address = "http://localhost:8080/serviceUi";
EndpointReference epf = new EndpointReference(address);
options.setTo(epf);
/**
* 设置将调用的方法,http://ws.apache.org/axis2是方法
* 默认(没有package)命名空间,如果有包名
* sayHello就是方法名称了
*/
QName qname = new QName("http://FirstBosentServices.firstbosent.bosent.com", "selectClassTeam");
//指定调用的方法和传递参数数据,及设置返回值的类型
Object[] result = client.invokeBlocking(qname, new Object[] { "jack" }, new Class[] { String.class });
System.out.println(result[0].toString());
}
}
------解决方案--------------------
目前服务的已经可以生成wsdl文件,但不知道第三方是什么编程语言
如何让第三方来调用我们的服务的,求相关经验。
=========================
你不需要知道,对方可以是任意的语言,两边通过符合SOAP的XML通信,自己负责自己这边的解析。
你把功能做出来就完事了,如果需要明文的用户校验,把验证信息作为参数加到你的WebMethod里去就可以。