日期:2014-05-19 浏览次数:20603 次
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里去就可以。